我创建了一个logout.php页面,让用户从网站注销并将其重定向到登录页面。
然而,无论我做什么,cookie都不会被删除,所以当用户被重定向到单一页面时,后者检查cookie然后找到它,因此将用户登录。以下是logout.php的代码:
<?php
unset($login);
if (isset($_COOKIE['xxx'])){
setcookie('xxx', false, time() - 3600,"/");
}
if (isset($_COOKIE['yyy'])){
setcookie('yyy', false, time() - 3600,"/");
}
header("Location: singin.php");
die();
?>
请注意,此php页面位于受密码保护的子文件夹中,而html链接重定向到需要()logout.php文件的php文件。
答案 0 :(得分:0)
使用php unset()
删除您的Cookie,您可以在此处获取完整的详细信息delete the cookie
if (isset($_COOKIE['xxx'])){
unset($_COOKIE['xxx']);
}
if (isset($_COOKIE['yyy'])){
unset($_COOKIE['yyy']);
}
或者,将值设置为null
,将Cookie设置为负时间
setcookie('xxx', null, -1, '/');
setcookie('yyy', null, -1, '/');
或者,将值设置为empty
,将Cookie的过去时间设置为
setcookie("xxx", "", time()-3600);
setcookie("yyy", "", time()-3600);
答案 1 :(得分:0)
我终于找到了问题背后的原因。
它是因为我已将session_cache_limiter('public');
放入我的代码中,因此我认为这会阻止客户将cookie设置为到期日。
我之所以这样做,是因为我不希望客户每次回复时都会询问用户重新提交表单。
似乎这不是正确的做法,我会发布另一个问题。
感谢大家的帮助。