使用cookie来保持某人登录

时间:2013-12-06 21:39:38

标签: php cookies

好的,我试图在网站上记住我的功能,以便当用户点击复选框时,他们会被重新登记。在他们登录的页面中,我将cookie设置为用户名和密码:

setcookie('mail',$email,time() + 31536000); 
setcookie('pass',$password_h,time() + 31536000);

然后在我的会员家里,我有这个IF语句,以便检查cookie是否在浏览器中设置:

if (isset($_SESSION['email']) && isset($_SESSION['password']) or isset($_COOKIE['mail']) && isset($_COOKIE['pass'])) 
{
} else {
echo 'access denied'
}

我一直试图回应这些饼干,它给了我这个 注意:未定义的变量:COOKIE ....

Google Chrome还表示未在inspect元素>中设置Cookie。资源>饼干

非常感谢任何帮助  因为我真的很挣扎:)

2 个答案:

答案 0 :(得分:0)

一个问题是你的IF语句没有分组......

试试这个:

if ((isset($_SESSION['email']) && isset($_SESSION['password'])) or (isset($_COOKIE['mail']) && isset($_COOKIE['pass'])))

它对$ _SESSION检查进行分组,并对$ _COOKIE检查进行分组......以前我不确定所有的AND和OR是如何一起进行的。

另外,要检查您的Cookie,请暂时注释掉重定向。放入echo(“Cookies已设置”)或该行的某些内容。这样你就会知道你的IF语句检查是否应该设置cookie。

答案 1 :(得分:0)

here是一个几乎相似的问题。

尝试添加路径= /,以便cookie适用于整个站点,而不仅仅是当前目录(之前已经抓住了我)