简单的cookie不会设置

时间:2012-02-03 15:50:02

标签: php cookies setcookie

之前我已经设置了Cookie并且工作正常。我基本上已将该代码复制到另一台服务器上的另一个网页,但代码无效。代码在if语句中,但我知道它的触发,因为我还将代码回显给浏览器进行调试,然后显示出来。

<?php
    // Set some cookies
            $user = stripslashes($_POST['user']);
            $password = md5($_POST['password']);
            $hour = 0; // Changed to expire on browser close, was time() + 86400;

            setcookie(Panel_ID, $user, $hour); echo "setcookie(Panel_ID, $user, $hour);";
            setcookie(Panel_PW, $password, $hour); echo "setcookie(Panel_PW, $password, $hour);";
?>

然而,当我到达下一页并检查所有存在的cookie时,这两个都没有设置。

<?php     
echo "Cookies set are...";
print_r($_COOKIE);    
?>

当时有一些饼干,但它们来自网站上的论坛,而不是我设置的两个。

我甚至尝试过一个非常简单的cookie来排除变量问题或任何事情:

<?php
  setcookie(test,scott,0);
?>

那个也没有设置。

2 个答案:

答案 0 :(得分:1)

setcookie的第一个参数应该是一个字符串...看起来你只是键入cookie名称作为变量。尝试在第一个参数周围加上引号。

答案 1 :(得分:1)

终于找到了答案。

我发现了一些关于cookie的帖子,提到在setcookie之前不能创建HTML。我移动了我的代码并且仍然存在问题(没有变化)。然后我移动了我的代码,以便在另一部分之前触发它。基本上该页面有一个if(isset($ user))和一个if not set。我将我的if isset移到了另一个部分之上,这样在我的cookie设置之前肯定没有HTML被读取(尽管它不应该是因为它在if语句中没有被触发。)这终于奏效了。