基本上我想在 PHP 中创建一个 cookie 来记住用户在表单中输入的内容(指向一个单独的页面),这样无论何时他们返回该页面,该表单都已经预先填充了他们的任何信息第一次把它放进去。
我到处都看过,但找不到关于如何做到这一点的好答案。这就是我的代码现在的配置方式(无法正常工作)。
PHP:
$fname = $_POST['fname'];
$lname = $_POST['lname'];
setcookie( "fname", $fname, time() + 36000 );
setcookie( "lname", $lname, time() + 36000 );
HTML:
<form method="post" action="hidden.php">
<p>
First Name: <input type="text" maxlength="40" name="fname" id="fname" value="
<?php
if(isset($_COOKIE['fname']))
{
echo $_COOKIE['fname'];
}
else
{
echo "";
}
?>"/>
</p>
<p>
Last Name: <input type="text" maxlength="40" name="lname" id="lname" value="
<?php
if(isset($_COOKIE['lname']))
{
echo $_COOKIE['lname'];
}
else
{
echo "";
}
?>"/>
</p>
有没有介意告诉我我做错了什么以及我该如何解决?谢谢!
最佳答案
您很接近,但是您的 HTML 中的 $fname
是空的(假设您已经提交了所有相关代码)。您需要将 $fname
设置为 $_COOKIE['fname']
的值,或者直接回显 cookie 值。例如:
echo $_COOKIE['fname']; // Be sure to sanitize this!
关于php - 第一次访问后,使用 PHP cookie 自动填充以前用户输入的表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16329367/