首頁  >  文章  >  後端開發  >  php怎麼使用setcookie()設定cookie永不過期

php怎麼使用setcookie()設定cookie永不過期

青灯夜游
青灯夜游原創
2021-09-30 16:39:453435瀏覽

在php中,只需要設定setcookie()函數第三個參數的值一直大於系統目前時間即可,語法「setcookie("cookie_name", "cookie_value", time() 99*365* 24*3600);」。

php怎麼使用setcookie()設定cookie永不過期

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

PHP裡面設定cookie的時候,如果沒有指定有效期,則生存週期為瀏覽器會有期間,也可以稱為不存盤,瀏覽器關閉後再次打開就沒有了。

如果設定一個比較久的有效期給cookie(一直大於系統目前時間),則可讓cookie永不過期。而setcookie()函數的第三個參數$expire就是用來設定cookie有效期的。例如下面程式碼:

setcookie("cookie_name", "cookie_value", time() + 99 * 365 * 24 * 3600);

說明:

setcookie() 函數的語法格式如下:

setcookie(string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]])

參數說明如下:

  • #$name:設定Cookie 的名稱;
  • $value:可選參數,用來設定Cookie 的值。可以透過 $_COOKIE['$name'] 的形式來取得 $value 的值;
  • $expire:可選參數,用來設定 Cookie 的過期時間,這個時間是 Unix 時間戳記的形式。如果設定成零或忽略該參數,Cookie 會在會話結束時過期(也就是關掉瀏覽器時);
  • $path:可選參數,用來設定 Cookie 有效的伺服器路徑。設定成 '/' 時,Cookie 對整個網域 $domain 有效。如果設定成'/foo/',則 Cookie 僅對 $domain 中 /foo/ 目錄及其子目錄有效(例如 /foo/bar/)。預設值為設定 Cookie 時的目錄;
  • $domain:可選參數,用來設定 Cookie 的有效網域/子網域。設定成子網域(例如 'c.biancheng.net'),會使 Cookie 對這個子網域和它的三級網域有效(例如 php.c.biancheng.net)。要讓Cookie 對整個網域有效(包括它的全部子網域),只要設定成網域就可以了(例如'biancheng.net');
  • $secure:可選參數,用來設定這個Cookie是否僅僅透過安全的HTTPS 連線傳給客戶端。設定成TRUE 時,只有安全連線存在時才會設定Cookie;
  • $httponly:可選參數,當設定成TRUE 時,Cookie 僅可透過HTTP 協定訪問,也就是說Cookie 無法透過類似JavaScript 這樣的腳本語言存取。設定此參數可以有效的減少受到 XSS 攻擊的風險。

time()傳回自 Unix 紀元(January 1 1970 00:00:00 GMT)起的目前時間的秒數。

推薦學習:《PHP影片教學

以上是php怎麼使用setcookie()設定cookie永不過期的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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