2

基本上我想在 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>

任何介意告诉我我做错了什么以及如何解决它?谢谢!

4

1 回答 1

0

你很接近,但是$fname你的 HTML 是空的(假设你已经提交了所有相关的代码)。您需要设置$fname为 的值$_COOKIE['fname'],或者直接回显 cookie 值。例如:

echo $_COOKIE['fname']; // Be sure to sanitize this!
于 2013-05-02T02:25:08.920 回答