Cookie仅在特定目录中有效

时间:2014-05-08 22:18:25

标签: php cookies

我在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信息的图片:

enter image description here

2 个答案:

答案 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");