我一直在尝试做一个cookie自动登录,但虽然cookie已设置,但php无法读取它。我知道这是因为我可以用Cookie Monster看到它,我不知道有什么问题... 需要帮助!这让我疯狂!我的cookie已设置,但php无法读取它
代码设置Cookie(我任何HTML标记之前做到这一点)
setcookie("autologin", $_SESSION['user'], time()+5184000, "/");
代码检索它:
if (!isset($_SESSION['user']) && isset($_COOKIE['autologin'])) {
$_SESSION['user']=$_COOKIE['autologin'];
}
更新:我不使用上面的代码相同的脚本。我做登录,关闭浏览器,重新打开并尝试获取cookie,cookie在Cookie Monster中,但php无法看到它。
FIX:我的问题是,我试图挽救一个序列化对象,$ _SESSION [ '用户'],在cookie中,它已得到修复与:
setcookie("autologin", base64_encode($_SESSION['user']), time()+5184000, "/");
与检索:
if (!isset($_SESSION['user']) && isset($_COOKIE['autologin'])) {
$_SESSION['user']=base64_decode($_COOKIE['autologin']);
}
我不使用相同脚本中的代码。阅读更新以澄清,谢谢 – josecash 2013-02-24 17:00:20
尝试在setCookie中定义您的域。并检查您设置和获取Cookie时使用相同的域名。 – sectus 2013-02-24 23:03:54
好的,它是固定的。问题在于序列化,我试图在cookie中保存一个序列化的对象,出于任何原因,它没有得到它,所以我已经完成了序列化和base64_encode,现在没有问题了。 – josecash 2013-02-25 14:56:56