我有一個註冊表單,我試圖創建cookie來保持輸入的用戶數據,如果他們嘗試提交帶有驗證錯誤的表單。 Cookie正在這樣做,但它也造成了額外的問題。PHP 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 />
驗證和餅乾:
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, '/');
}
嘗試省略p元素和<?php開始標記之間的空白,然後對firstNameField的值執行相同的操作,因爲我可以看到在<?php標記之前有一個空格,這會導致額外空間你會看到 –