2015-11-03 175 views
1

我想取消設置的餅乾,我早先設置爲:爲什麼不刪除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

@Marged環路有正確的價值觀 –

回答

4

$_COOKIE[$key]包含您的cookie的值,不是關鍵,因爲這是$key

所以,你將需要:

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

@SuhailGupta啊,我看道:「循環具有正確的價值觀」 ;-) – Marged

+1

啊嗯!謝謝!! –

1

將該值設置爲「」,而到期日至昨日(或過去的任何日期)

試試這個代碼這樣的: -

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