首頁 > 後端開發 > php教程 > 為什麼 `unset($_COOKIE['cookie_name'])` 不刪除 Cookie,以及如何正確執行此動作?

為什麼 `unset($_COOKIE['cookie_name'])` 不刪除 Cookie,以及如何正確執行此動作?

DDD
發布: 2024-12-14 14:08:13
原創
143 人瀏覽過

Why Doesn't `unset($_COOKIE['cookie_name'])` Remove a Cookie, and How Can I Do It Properly?

如何有效刪除cookie

嘗試使用unset($_COOKIE['hello']); 刪除cookie 時,您可能會注意到該cookie 在您瀏覽器的cookie 管理員中仍然可見。這是因為 unset 函數僅從 PHP 記憶體中刪除 cookie,而不是從瀏覽器中刪除。

要永久刪除 cookie,需要執行以下步驟:

  1. 從 PHP 內部取消設置 cookie內存:

    unset($_COOKIE['remember_user']);
    登入後複製
  2. 將cookie設置為過去過期(例如1小時前):

    setcookie('remember_user', '', time() - 3600, '/');
    登入後複製
  3. 確保cookie路徑與原來的一致cookie:
    setcookie 函數將路徑作為其第三個參數。該路徑應與最初建立 cookie 時指定的路徑相符。如果路徑不匹配,PHP 可能無法正確刪除 cookie。
  4. 回傳成功訊息(選購):

    return true;
    登入後複製

透過執行下列步驟,您可以有效地從瀏覽器中刪除cookie,並防止它在將來的請求中使用。

以上是為什麼 `unset($_COOKIE['cookie_name'])` 不刪除 Cookie,以及如何正確執行此動作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板