php中設置和讀取cookie的步驟是什么?

php 中設置和讀取 Cookie 主要用 setcookie() 函數和 $_cookie 超全局數組。1. 設置 cookie:使用 setcookie(“name”, “value”, expire, path, domain, secure, httponly),其中 name 和 value 為必填,其他參數可選,例如 setcookie(“user”, “johndoe”, time()+3600, “/”);注意 setcookie() 必須在任何輸出前調用。2. 讀取 cookie:通過 $_cookie[“name”] 獲取,如 isset($_cookie[“user”]) 來判斷是否存在該 cookie,且需刷新頁面后才能讀取到新設置的 cookie。3. 刪除 cookie:將過期時間設為過去的時間點,如 setcookie(“user”, “”, time()-3600, “/”),同時建議保留與設置時相同的路徑和域名以確保正確刪除。

php中設置和讀取cookie的步驟是什么?

在 PHP 中設置和讀取 Cookie 是 Web 開發中比較常見的操作,主要用于用戶狀態識別、記錄登錄信息等場景。要完成這個過程,主要用到 setcookie() 函數來設置 Cookie,然后通過超全局數組 $_COOKIE 來讀取。


設置 Cookie:使用 setcookie() 函數

PHP 中設置 Cookie 主要用 setcookie() 這個函數。它的基本語法如下:

setcookie(name, value, expire, path, domain, secure, httponly);

其中,只有前兩個參數(name 和 value)是必填的,其他都是可選的。比如下面這個例子:

立即學習PHP免費學習筆記(深入)”;

setcookie("user", "JohnDoe", time()+3600, "/");

這行代碼的意思是:設置一個名為 user 的 Cookie,值為 JohnDoe,有效期是一小時(當前時間加 3600 秒),路徑為網站根目錄 /,這樣整個網站都能訪問到這個 Cookie。

注意:setcookie() 必須在任何輸出之前調用,否則會報錯。也就是說,在它執行之前不能有任何 html 輸出或空格。


讀取 Cookie:使用 $_COOKIE 超全局變量

當 Cookie 被成功設置后,就可以通過 $_COOKIE 數組來讀取了。例如:

if (isset($_COOKIE["user"])) {     echo "歡迎回來," . $_COOKIE["user"]; } else {     echo "你是新訪客"; }

這段代碼判斷是否存在名為 user 的 Cookie,如果存在就顯示歡迎語句。

一個小細節是:Cookie 是從客戶端發送到服務器的,所以你必須刷新頁面一次才能看到剛剛設置的 Cookie 出現在 $_COOKIE 中。


刪除 Cookie:設置過期時間

PHP 并沒有專門的刪除 Cookie 函數,而是通過設置一個已經過去的過期時間來實現“刪除”效果。例如:

setcookie("user", "", time()-3600, "/");

這里把 user 的過期時間設為了過去的一小時,瀏覽器會自動清除這個 Cookie。

需要注意的是,刪除時最好保留與設置時相同的路徑(path)和域名(domain)參數,否則可能無法正確刪除。


基本上就這些。設置和讀取 Cookie 在 PHP 中不算復雜,但有些細節容易忽略,比如輸出順序、路徑問題、刪除方式等,稍不注意就可能導致功能異常。

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享