我正在设置一个包含此格式的vlue的cookie,并通过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”。我试图用这样的简单回声来访问cookie值,
echo $_COOKIE['myCookie'];
然而,我得到以下通知,而不是cookie值,
Notice: Undefined index: myCookie in /path/to/my/site/index.php on line 1
在查看其他解决方案之后,我已将cookie路径设置为“/”但仍无法解决此问题。
任何帮助都非常感激。
编辑: 我在XAMPP服务器上测试这个,这里的“mysite”实际上是我硬盘上另一个位置的别名。这会导致这个问题吗?
答案 0 :(得分:1)
我认为,一旦您离开上一页,您的Cookie就会被移除或消失。
检查time() + $cookieLife
是否是您希望Cookie生效的所需时间。 PHP setcookie function告诉我,您的$cookieLife
是您希望Cookie生效的时间(以秒为单位),因此请确保它是您希望的值。
使用扩展程序检查您当前的Cookie(如果需要,可以更改它们)。通过这种方式,您可以检查并确定cookie是否存在,只要您愿意(您已经提到过看到cookie已经设置,但我会将其包含在内,以防将来访问者)。
FireFox扩展程序:Web Developer
Chrome扩展程序:Cookies