无法始终读取会话Cookie

时间:2012-01-30 21:40:02

标签: php

我有一个页面(mypage.html),它按如下方式设置cookie:

setcookie ("sessionid", md5 (uniqid (rand())));

现在,在包含显示网站标题的顶部,我有以下内容:

echo "cookie is ". $_COOKIE['sessionid'];

当我在包含标题的mypage.html上时,echo命令显示cookie名称,因为它应该......例如。

  

cookie是4d40102ff2d2268d907dd31debc411e2 cookie是4d40102ff2d2268d907dd31debc411e2

但如果我从设置cookie的页面移动,我所看到的只是

  

cookie是

没有名字 - 如果我回到mypage.html,它会再次读取它没有问题。我不知道这怎么会发生?有什么想法吗?

1 个答案:

答案 0 :(得分:1)

设置Cookie的显式路径。默认值仅为当前目录,因此如果您导航到另一个目录中的脚本,则浏览器将不会发回cookie。

// Cookie is valid for all paths ( / ) in the current domain
// This also has an explicit expiry time of 1 hour from the time it's set...
setcookie ("sessionid", md5 (uniqid (rand())), time() + 3600, "/");

设置自己的会话cookie有点不寻常,只需启动会话就可以为您处理:

session_start();
// Id is set for you...
echo session_id();