为什么没有删除cookie?

时间:2015-11-03 12:19:44

标签: php cookies

我试图取消设置Cookie,我之前设置为:

    setcookie(session_name(),$sessionID,time() + 30*24*3600,'/');
    setcookie('UserID',$result[0]['UserID'],time() + 30*24*3600,'/');
    setcookie('UType',$result[0]['UType'],time() + 30*24*3600,'/');
    setcookie('Username',$Username,time() + 30*24*3600,'/');

退出文件:

function unsetCookie() {
    foreach($_COOKIE as $key => $value) {
        // $_COOKIE[$key] contains the cookie name as expected
        setcookie($_COOKIE[$key],'',time()-(40*24*3600),'/');
    }
}

unsetCookie();
session_start();
session_destroy();
header('Location: '.$loginPage);
exit();

但是,在注销文件中重定向后,cookies仍未删除。这可能是什么原因?

2 个答案:

答案 0 :(得分:4)

$_COOKIE[$key]包含Cookie的值,而不是$key的密钥。

所以你需要:

setcookie($key,'',time()-(40*24*3600),'/');

答案 1 :(得分:1)

将值设置为“”并将到期日期设置为昨天(或过去的任何日期)

尝试这样的代码: -

setcookie("UserID", "", time()-(40*24*3600));
setcookie("UType", "", time()-(40*24*3600));
setcookie("Username", "", time()-(40*24*3600));