在 PHP 中刪除 Cookie
本文將介紹幾種在 PHP 中刪除 cookie 的方法。首先,我們將設定 cookie,然後將其刪除。
在 PHP 中使用 setcookie()
函式設定 Cookie
setCookie()
函式設定和刪除 cookie。
語法:
setcookie($name, $value, $expiry, $path, $domain, $secure, $httponly);
$name
是 cookie 的名稱。$value
是儲存在客戶端系統中的 cookie 的內容或值。$expiry
是 cookie 過期的時間。單位是第二。$path
是伺服器上表示 cookie 可用性的路徑。例如,如果$path
設定為/
,則 cookie 將在網站的域中可用。$domain
是 cookie 可用的域或子域。$secure
確保 cookie 在設定為true
時通過安全的 HTTPS 連線從客戶端傳輸。$httponly
確保 cookie 在設定為true
時只能通過HTTP
協議訪問。
讓我們建立一個 cookie 和變數 $cookie_name
、$cookie_value
和 $cookie_expiry
來儲存 cookie 名稱、值和到期時間。
為每個變數分配 username
、Sam
和 time()+3600
。接下來,使用 setcookie()
方法並按順序提供這些變數。
接下來,使用全域性變數 $_COOKIE
訪問 $cookie_name
。
$cookie_name = "username";
$cookie_value = "Sam";
$cookie_expiry = time() + 3600;
setcookie($cookie_name, $cookie_value, $cookie_expiry);
print_r($_COOKIE[$cookie_name]);
輸出:
Sam
因此,我們建立了一個 cookie。cookie 在建立時間一小時後過期,因為 3600
秒等於一小時。
我們可以從檢查元素部分看到瀏覽器中的 cookie 資訊。現在,我們將在以下部分中逐步刪除 cookie。
在 PHP 中使用 setcookie()
函式刪除 Cookie
使用 setcookie()
方法刪除 cookie。為此,我們需要保留過去的到期日期。
我們可以使用 isset()
函式在刪除 cookie 之前檢查 cookie 是否已設定。
例如,使用 isset()
函式中的 $_COOKI[$cookie_name]
變數來檢查上面建立的 cookie 是否存在。
在 if
塊中,使用 setcookie()
函式。在函式內部,將 $cookie_name
設定為第一個引數。
if(isset($_COOKIE[$cookie_name])) {
setcookie($cookie_name, "", time()-3600);
}
我們為第二個引數寫了一個空字串和 time()-3600
作為到期時間。
由於 time()
函式返回自 Epoch 以來的當前時間(以秒為單位),從中減去 3600
將返回過去的時間。最後,刪除帶有 $cookie_name
的 cookie。
我們還可以在 setcookie()
函式中使用 $cookie_name
和 null
值來刪除 cookie。
if(isset($_COOKIE[$cookie_name])) {
setcookie($cookie_name, null);
}
因此,我們可以使用 setcookie()
函式來刪除 PHP 中的 cookie。
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn