我有一个网站,可以选择“保持登录状态”。选中该选项后,我将Cookie设置为一个月,如下所示:
$expire = time()+60*60*24*30;
setcookie("user_ID", $userid, $expire);
setcookie("u", $username, $expire);
etc.
然后我有一个注销脚本来杀死cookie,将值设置为null并将过期日期设置为过去一小时。
$expire2 = time()-60*60;
foreach ($_COOKIE as $c_id => $c_value)
{
setcookie($c_id, NULL, $expire2);
}
当我运行注销脚本时,Firebug说:
设置-曲奇 用户ID =删除;到期=星期二,02-Feb-2010 16:43:15 GMT U =删除; expires =星期二,02-Feb-2010 16:43:15 GMT
但是当我回到主页或任何其他页面时,我仍然登录!我设置cookie的唯一一次是当我运行登录脚本时,为什么他们不会死?它可能与GMT背后的当地时间有关吗?
答案 0 :(得分:3)
没关系。和我犯的大多数错误一样,这个错误非常愚蠢。我正在设置路径cookie,我的注销脚本与登录脚本位于不同的目录中。我已将它们设置为域cookie,现在它们正在运行。