首頁 >後端開發 >php教程 >為什麼使用 setcookie() 後無法立即存取 Cookie?

為什麼使用 setcookie() 後無法立即存取 Cookie?

Linda Hamilton
Linda Hamilton原創
2024-12-10 03:05:09465瀏覽

Why Can't I Access Cookies Immediately After Using `setcookie()`?

在 setcookie() 後擷取 Cookie 值

為什麼呼叫 setcookie() 後就無法存取 $_COOKIE?

呼叫 setcookie() 函數後,cookie 本身在 PHP 中並不會立即可用$_COOKIE 陣列。這是因為在 HTTP 回應傳送回客戶端之前,Cookie 不會被設定,這發生在 PHP 腳本完成執行之後。

使 Cookie 值可存取

為了避免這個問題,您可以在使用 setcookie() 設定 cookie 值後手動將 cookie 值加到 $_COOKIE 陣列中。這樣,您就可以存取目前腳本中的值:

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

以上是為什麼使用 setcookie() 後無法立即存取 Cookie?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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