2013-05-11 107 views
0

我想爲我的網站做一個簡單的註銷腳本,但由於某種原因,我無法殺死這個cookie。我能夠殺死另一個我命名爲「fontCookie」的cookie,但這個默認命名的cookie不會消失。什麼可能導致這個問題?這就是我,我再說一遍,fontCookie被破壞:PHPSESSID不會死

<?php 
session_start(); 

if(isset($_SESSION["loggedin"])){ 

$_SESSION = array(); 


    if(isset($_COOKIE['fontCookie'])){ 

    setcookie('fontCookie', '', time() -42000); 

    } 
    if (isset($_COOKIE[session_name()])){ 

    setcookie(session_name(), '', time()-42000); 

    } 

    session_destroy(); 

    header('Location: http://google.com'); 
} 
else{ 

    header('Location: http://google.com'); 
} 


?> 
+0

您不應該刪除Cookie ... – 2013-05-11 02:37:48

+0

@JohnVanDeWeghe,但爲什麼我不能刪除它的代碼?如果我在瀏覽器中使用GUI,它只會被刪除 – Sam 2013-05-11 02:48:54

+0

當Cookie被標記爲過期時,它們可能在瀏覽器重新啓動之前不會被刪除。您是否檢查過多個瀏覽器以查看是否屬於這種情況? – 2013-05-11 02:51:47

回答

0

看來你需要調用session_name()session_start()

會話名稱重置爲存儲在會話中的默認值。在請求啓動時名稱 。因此,您需要在每個請求(和session_start()或session_register()爲 ,稱爲)之前調用session_name()作爲 。 refer here

0

嘗試刪除這樣的cookie。

setcookie('fontCookie', '', time() -42000); 
$_COOKIE["fontCookie"] = null; 
unset($_COOKIE["fontCookie"]);