我已经构建了我的登录和退出系统,但它似乎在某些浏览器(如chrome和firefox)中无法正常工作。问题是浏览器会记住cookie,即使它们是在会话结束时到期。 有人有解决方案吗?
我只想注意创建另一个cookie以监控它是否应该记住是不是一个有效的解决方案,必须有一个更专业的方式。
提前谢谢!
编辑:我道歉我很困惑。我根本没有取消cookie,浏览器应该在它关闭时销毁它,但事实并非如此。这就是问题
答案 0 :(得分:2)
将过期日期设置为过去
// set the expiration date to one hour ago
setcookie ("cookie", "", time() - 3600);
请参阅php手册中的this example。
修改强>
要在浏览器或标签页关闭时删除Cookie,您可以使用javascript onunload。
<script>
window.onunload=function()
{
document.cookie = 'cookie =; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
</script>
它会将Cookie过期日期设置为过去,在页面卸载。
答案 1 :(得分:1)
要删除Cookie,您需要设置一个负时间。
setcookie('cookie', '', time() - 3600);
答案 2 :(得分:1)
赞PHP Doc说:
如果设置为0或省略,则cookie将在结束时到期 会话(浏览器关闭时)
这是PHP的想法,但有些浏览器不这样做。只需设置负时间
setcookie("cookie", "", time() - 10);
它有效。