我试图获取一个 php 表单来从 cookie 中自动填充用户 ID 字段,或者如果它是一台新电脑,则为用户提供“记住我”的选项。当我手动添加 cookie 然后加载表单页面时,它会正确填充用户框,但是当它从表单本身发布时,我似乎无法设置 cookie。
来自 php 表单的代码:
<form action="./post_cookies.php" method="post" id="HOME">
<div id="nav">
<ul>
<li><i>Whats your username:</i></li>
<li><i><input type="text" size="40" name="User_ID"
<?php
if (isset($_COOKIE["user"]))
echo "value=\"" . $_COOKIE["user"] . "\"</i></li>";
else
echo "placeholder=\"12345\"></i></li>";
?>
<li><i>Remember me: <INPUT TYPE="checkbox" NAME="remember" VALUE="1"> Yes</i></li>
</ul>
</div>
<div id="nav" style="text-align:center;">
<ul>
<li><i><button form="HOME" type=submit style="width:200px;height:40px">Submit</button></i></li>
</form>
</ul>
</div>
</div>
此表单发布到“post_cookies.php”,代码为:
<?php
// creating a variable to store the timestamp in
$posttime = time();
// if the remember me checkbox returns a 1 then add the users, username as a cookie
if($_POST[remember]==1)
{
setcookie('user', $_POST[User_ID], $posttime + 3600); // Sets the cookie
}
// this is where the data base connection would go
header("Location: http://www.domain.com/index.php");
?>
这个想法是,如果“记住我”被选中,那么 post_cookies.php 将使用用户 ID 设置一个 cookie。
我看不到 post_cookies.php 哪里出错了,也没有设置 cookie。非常感谢任何帮助。
谢谢!马修