餅乾

值得注意的是,僅僅呼叫 setcookie 函式並不只是將給定資料放入 $_COOKIE 超全域性陣列中。

例如,沒有必要這樣做:

setcookie("user", "Tom", time() + 86400, "/");
var_dump(isset($_COOKIE['user'])); // yields false or the previously set value

該值尚未存在,直到下一頁載入。功能 setcookie 只是說“ 用下一個 http 連線告訴客戶端(瀏覽器)設定這個 cookie ”。然後,當標題傳送到瀏覽器時,它們包含此 cookie 標頭。然後瀏覽器檢查 cookie 是否尚未過期,如果沒有,則在 http 請求中將 cookie 傳送到伺服器,這是 PHP 收到它並將內容放入 $_COOKIE 陣列時。