首頁 >後端開發 >php教程 >為什麼 $_COOKIE 沒有立即反映 `setcookie()`,如何立即存取它?

為什麼 $_COOKIE 沒有立即反映 `setcookie()`,如何立即存取它?

DDD
DDD原創
2024-12-11 07:22:18164瀏覽

Why Doesn't $_COOKIE Reflect `setcookie()` Immediately, and How Can I Access It Instantly?

呼叫setcookie() 後造訪Cookie 值

當您在呼叫setcookie() 後立即嘗試使用$_COOKIE 存取cookie 值時函數時,可能會出現$_COOKIE['uname'] 未設定的情況。發生這種情況是因為 cookie 在設定後不會立即可用。

出現這種情況的原因是,直到回應傳送回客戶端後才會設定 cookie。在用戶端發出下一個請求之前,PHP 無法存取 Cookie。

立即存取 Cookie

要避免此問題,您可以手動設定呼叫 setcookie() 後 $_COOKIE 中的 cookie 值。這允許您在同一腳本中立即存取cookie 值:

setcookie('uname', $uname, time() + 60 * 30);
$_COOKIE['uname'] = $uname;

透過在瀏覽器和$_COOKIE 中的手冊中設定cookie,您可以在使用setcookie() 設定後立即存取其值.

以上是為什麼 $_COOKIE 沒有立即反映 `setcookie()`,如何立即存取它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn