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