2012-04-20 54 views
0

好吧,我用這個代碼來設置cookies餅乾繼續回來,即使我將其設置爲刪除

setcookie("search", "active", time()+3600); 

,我用它來刪除Cookie

setcookie("search", "active", time()-3600); 

,我用它來檢查和檢索cookie

<? 
    if (isset($_COOKIE["search"])) 
    { 
     if ($_COOKIE["search"] === "active") 
     { 
      echo "cookies active"."<br/>"; 
      echo $_COOKIE["search"]; 
     } 
     else 
     { 
      echo "cookies is not active"; 
     } 
    } 
    else 
    { 
     echo "no cookies"; 
    } 
?> 

而是集餅乾的就是繼續一次又一次地回來,即使我使用方法我指定刪除了它當我刷新頁面時bove。

+0

該cookie只會在下一次請求時消失... – 2012-04-20 19:56:23

+0

嘗試像'1'這樣的其他時間戳。 – Gumbo 2012-04-20 20:06:51

回答

1

我不知道爲什麼你得到這個錯誤,但在此之前

實例已經看到了這一點:調用

setcookie ("user", "Alex Porter", time() + 3600); 
setcookie ("search", "active", time() + 3600); 

var_dump($_COOKIE); 

setcookie ("search", "", time() - 3600); 

只輸出

array(1) { 
    ["user"]=> 
    string(11) "Alex Porter" 
} 

預期結果

array(2) { 
    ["user"]=> 
    string(11) "Alex Porter" 
    ["search"]=> 
    string(6) "active" 
} 

結論

我想你會堅持只有一個餅乾或只是刪除所有cookie一次

嘗試

注*確保setcookie始終是在頁面的頂部,沒有輸出是之前

setcookie ("search", "active", time() + 3600); 
//setcookie ("search", "", time() - 3600); // uncomment when you want to remove cookie 
if (isset ($_COOKIE ["search"])) { 
    if ($_COOKIE ["search"] === "active") { 
     echo "cookies active" . "<br/>"; 
     echo $_COOKIE ["search"]; 
    } else { 
     echo "cookies is not active"; 
    } 
} else { 
    echo "no cookies"; 
} 
+0

我的帖子中有一個錯誤「setcookie(」user「,」Alex Porter「,time()+ 3600);」應該是這一個setcookie(「搜索」,「活躍」,時間()+ 3600);「。我不是試圖在一個cookie上2數據,我需要的是刪除該cookie,它不應該保持回來正如我現在卡在那裏。 – 2012-04-20 20:49:24

+0

你能正確更新你的文章嗎? – Baba 2012-04-20 20:50:11

+0

更新,檢查出來。 – 2012-04-21 02:27:20

1

在PHP中刪除cookie不會影響$ _COOKIE超級全局,因爲在您的腳本運行之前已經填充此數組。但是,當您加載下一頁時,它應該不再存在於$ _COOKIE中。