我知道这个问题被问了一百万次,但这个问题非常不同。这段代码已经完美运行了3年多,但现在已经停止了工作。
相关Cookie包含“自动登录”的成员ID。返回网站时。 cookie是通过登录时对函数的jQuery调用设置的。一旦登录,函数返回一个值,调用脚本将成员重定向到他们的控制面板:
if (strlen(trim($_POST['keep_logged'])) != 0) {
if(setcookie('foacmemberinformation', $row['member_id'], time() + 60 * 60 * 24 * 365, '/')) {
error_log('in set cookie line 68');
}
else {
error_log('set cookie failed');
}
}
我刚刚在set cookie周围添加了if else语句,以验证set cookie函数是否返回true。
似乎造成这种情况的原因是会员使用'退出'网站上的功能就像这样简单:
session_start();
session_destroy();
setcookie('foacmemberinformation', '', time() - 3600);
header('Location: /Member-Login');
现在我个人已经使用了这个注销,然后重新登录并记住功能数百次,如果不是数千次,那么在过去三年中从未出现问题。它也发生在所有浏览器中。
我已经确认setcookie返回true并且除了另一个cookie之外没有输出(setcookie(' foacmemberstate',$ row [' state'],time()+ 60 * 60 * 24 * 14,' /');)正在设置。我甚至评论说,设置cookie并尝试仍然是问题' cookie没有设置。
我在工作3年后不知道发生了什么!