我在http://mywebsite.com/control
上设置了一个简单的登录页面。当您登录时,它会在您的计算机上放置一个名为user
的cookie。要设置cookie,我只需使用:
setcookie("user", $_POST['IGN']);
当我在目录/control
上时,它运行正常。例如,如果我使用代码:
echo $_Cookie['user'];
它回应了cookie信息。但是,如果我在不在/control
目录中的任何页面上执行此操作,则会显示:
Notice: Undefined index: user in /var/www/other/vars.php on line 16
第16行是回声的地方。这是Chrome中Cookie信息的图片:
答案 0 :(得分:1)
您应该使用:
setcookie("user", $_POST['IGN'],0,'/');
如果您希望cookie在整个域中可见
您还应该使用:
echo $_COOKIE['user'];
以大写字母
您还应该阅读有关在http://www.php.net/manual/en/function.setcookie.php设置Cookie的更多信息 - 默认情况下,Cookie仅针对您设置Cookie的目录设置。这就是您需要添加第4个参数' /'
的原因答案 1 :(得分:1)
这样做是因为你没有在设置cookie时设置path参数,默认情况下,PHP将采用你当前的直接参与。
试试这个。
setcookie("cookiename", "value", time()+3600, "/", "mywebsite.com");