虽然路径和时间设置正确,但我无法删除PHP PHP

时间:2017-07-31 18:49:38

标签: php cookies

我创建了一个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文件。

2 个答案:

答案 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设置为到期日。

我之所以这样做,是因为我不希望客户每次回复时都会询问用户重新提交表单。

似乎这不是正确的做法,我会发布另一个问题。

感谢大家的帮助。