好的,我试图在网站上记住我的功能,以便当用户点击复选框时,他们会被重新登记。在他们登录的页面中,我将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。资源>饼干
非常感谢任何帮助 因为我真的很挣扎:)
答案 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适用于整个站点,而不仅仅是当前目录(之前已经抓住了我)