我试图取消设置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
仍未删除。这可能是什么原因?
答案 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));