Php 使用cookies让某人登录

Php 使用cookies让某人登录,php,cookies,Php,Cookies,好吧,我正试图在网站上做一个“记住我”的功能,这样当用户点击“勾选框”时,他们就会记住。在他们登录的页面中,我将cookies设置为用户名和密码: setcookie('mail',$email,time() + 31536000); setcookie('pass',$password_h,time() + 31536000); 然后,在我的会员家庭中,我有一个IF语句,以便它检查浏览器中是否设置了cookie: if (isset($_SESSION['email']) &&am

好吧,我正试图在网站上做一个“记住我”的功能,这样当用户点击“勾选框”时,他们就会记住。在他们登录的页面中,我将cookies设置为用户名和密码:

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

谷歌chrome还表示,这些cookie不是在inspect element>Resource>cookies中设置的

非常感谢您的帮助
当我真的在挣扎时:)

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

试试这个:

if ((isset($_SESSION['email']) && isset($_SESSION['password'])) or (isset($_COOKIE['mail']) && isset($_COOKIE['pass'])))
它对$\u会话检查进行分组,并对$\u COOKIE检查进行分组。。。以前我并不确定所有的and和ORs将如何配合

另外,要检查cookie,请暂时注释掉重定向。输入echo(“设置了Cookies”)或类似的内容。通过这种方式,您将知道检查是否应该设置cookies的IF语句正在工作

是一个几乎相似的问题


尝试添加路径=/,这样cookie不仅适用于当前目录(我以前发现过这个目录),而且适用于整个站点。

在输出其他内容后,请检查您是否没有设置它们。此外,您不应该在cookie中设置密码。更好的方法是更改会话过期时间:这是我设置它们的方式,如果($login->num_rows==1和$f_password==$password_h){if($_POST['stayloggedin']='yes'){setcookie('mail',$email,time()+31536000);setcookie('pass',$password_h,time()+31536000);$会话['email']=$email;$session['password']=$password\u h;//echo'hmmm';header(“Location:../script/php/member\u home.php”);啊,谢谢!:)现在cookie出现在成员主页上,但我仍然无法回显它,我得到以下信息:注意:未定义变量:C:\xampp\htdocs\Assignment\u 1\u test\script\php\member\u home.php中的cookie在第18行,我像echo$cookie['mail'一样回显这两个cookie;echo$COOKIE['pass'];echo$_COOKIE['email']。COOKIE之前缺少