我有一个页面(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,它会再次读取它没有问题。我不知道这怎么会发生?有什么想法吗?
答案 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();