我有一个注册表单,并且我正在尝试创建 cookie,以便在用户尝试提交带有验证错误的表单时保留输入的用户数据。cookie 正在这样做,但它也会导致其他问题。
加载表单时,cookie 似乎在表单字段中输入了两个空格,当用户提交带有验证错误的表单时,它会保留用户信息,但会在其详细信息前插入两个空格。这是什么原因造成的?
HTML 表单:
<p class="error" id="jsFirstError">
<?php
if(isset($_COOKIE['firstNameErr'])) {
echo $_COOKIE["firstNameErr"];
}
?>
</p>
First name:<input type="text" name="fname" placeholder="First Name" id="firstNameField" autofocus="autofocus" value="
<?php
if(isset($_COOKIE['firstNameEntry'])) {
echo $_COOKIE['firstNameEntry'];
}
?>"><br /><br />
验证和cookie:
if(empty($fname)) {
$error = true;
setcookie("firstNameErr", "Please enter your First Name.", time()+1, '/');
} else if(!ctype_alpha($fname)) {
$error = true;
setcookie("firstNameErr", "Only letters are accepted, please re-enter your First Name.", time()+1, '/');
} else {
setcookie("firstNameEntry", $fname, time()+1, '/');
}