提问者:小点点

不同页面上的cookie不工作


好的,我有一个cookie集,我可以清楚地看到它,如果我去私人数据在Firefox.。。 好的,所以当我在某个目录的一个页面上回显它时,它可以工作,(www.example.com/dir),但是在站点的索引页面上(www.example.com),它不会回显,它表示cookie未设置。 是的,我已经启用了cookie,是的,我尝试过清除缓存等等。 有什么想法吗? PHP btw


共3个答案

匿名用户

设置cookie时,您在哪个目录中?

在有关setcookie()的PHP手册中,强调我的:

路径

将在其中提供cookie的服务器上的路径。 如果设置为“/”,则cookie将在整个域中可用。 如果设置为“/foo/”,则cookie将仅在/foo/目录和域的/foo/bar/等所有子目录中可用。 默认值是设置cookie的当前目录。

匿名用户

Cookie可以绑定到特定的域,子域,路径和协议(HTTP/HTTPS)。 在PHP中设置cookie时需要指定路径:

setcookie("TestCookie", "Value", time()+3600 , '/' );

第四个参数将它绑定到站点的根,它将在主站点的任何子目录中可用。

如果您希望它在主域和任何子域上可用,请提供第五个参数,如下所示:

setcookie("TestCookie", "Value", time()+3600 , '/', '.example.com' );

现在可以在以下位置阅读:

www.example.com
example.com/newdir
awesome.example.com/newdir

匿名用户

您需要检查设置cookie的路径。

如果不是'/',这就是你的答案!