我正在设置一个cookie,其中包含这种格式的vlue,并通过PHP头函数重定向到另一个页面。这是代码,
setcookie("myCookie", $cookieValue, time() + $cookieLife, "/"); // cookieLife is expiration time in sec
header("Location: $baseURL/index.php"); // $baseURL is "http://localhost/mysite"
正在浏览器中设置cookie。然而,我无法访问重定向页面中的cookie值,即"index.php"
echo $_COOKIE['myCookie'];
然而,我得到的不是cookie值,而是以下通知,
Notice: Undefined index: myCookie in /path/to/my/site/index.php on line 1
在查看了其他解决方案后,我已将cookie路径设置为"/",但仍然无法解决此问题。
非常感谢您的帮助。
编辑:我正在XAMPP服务器上测试这个,这里的"mysite"实际上是我硬盘上另一个位置的别名。这会导致这个问题吗?
我假设您的cookie在离开上一页后会被删除或消失。
-
检查
time() + $cookieLife
是否是您希望cookie存活的所需时间。PHP setcookie函数告诉我,您的$cookieLife
是您希望cookie生存的时间(以秒为单位),因此请确保它是您希望的值 -
使用扩展来检查您当前的cookie(如果需要,可以更改它们)。通过这种方式,你可以检查并确保cookie是否能在你想要的时间内存活(你已经提到看到cookie被设置,但我会将其包括在内,以备将来的访问者使用)。
FireFox扩展:Web开发人员
Chrome扩展:Cookies