从php帖子表单设置cookie

时间:2013-02-01 12:28:42

标签: php post cookies

我试图让php表单从cookie中自动填充用户ID字段,或者如果它是新的pc,那么给用户选择“记住我”。当我手动添加一个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");
?>

这个想法是,如果选中'remember me',那么post_cookies.php将设置一个带有usersID的cookie。

我无法看到post_cookies.php出错的地方而且没有设置cookie。 非常感谢任何帮助。

谢谢! 马修

1 个答案:

答案 0 :(得分:0)

应该是:

if ($_POST['remember'] == 1) {   
    setcookie('user', $_POST['User_ID'], $posttime + 3600);        // Sets the cookie 
}

数组键在引号中。试试那个

相同
$_POST['User_ID']

另外

echo "value=\"" . $_COOKIE["user"] . "\"</i></li>";

>

之前错过了结束</i>