PHP是一種廣泛使用的開源腳本語言。它是一種服務器端腳本語言,可以嵌入HTML源文件中。使用PHP腳本語言,您可以創建動態網頁內容,與數據庫交互,發送和接收Cookies。
$_COOKIE是PHP中的一個預定義變量,用于獲取來自用戶瀏覽器發送的Cookies。Cookie是一種在客戶端計算機上存儲數據的技術,可以在每次http請求時被發送到服務器,以便服務器在不同頁面和不同會話之間保持數據狀態。
例如,在一個在線購物網站上,當用戶添加商品到購物車時,網站會使用Cookies存儲用戶會話ID和他們選擇的產品ID,以便在下一頁中檢索這些項目。
// 一旦創建,Cookie將在指定時間后過期 setcookie(name, value, expire, path, domain, secure, httponly);
您可以使用setcookie()函數在PHP中創建Cookie。setcookie()函數需要在以下參數中傳遞名稱和值:
- 名稱:Cookie的名稱。這將使您在$_COOKIE數組中引用Cookie的值。
- 值:該Cookie的值。這將是保存在本地計算機上的客戶端數據。
- 過期時間:Cookie的到期日期和時間。如果您忽略該參數,Cookie將在瀏覽器關閉時過期。
- 路徑:Cookie的可用路徑。默認情況下,這是從Documents Root開始的完整路徑(/)。
- 域:Cookie的可用域(例如,www.example.com)。
- 安全:設置為TRUE可確保該Cookie僅通過安全的HTTPS連接使用。
- HTTP Only:設置為TRUE可確保該Cookie僅由HTTP傳輸,在JavaScript中不可訪問。
在下面的示例中,我們將創建一個名為“user”的Cookie,該Cookie的值為“John Doe”,有效期為一周,其余參數采用默認值。
setcookie("user", "John Doe", time() + (86400 * 7), "/");
一旦創建Cookie,可以使用$_COOKIE數組檢索其值。在一個簡單的PHP腳本中,以下代碼將輸出用戶的Cookie值:
echo $_COOKIE["user"];
請記住,根據安全設置,某些Cookie可能不可用于JavaScript。要確定Cookie是否設置了“HTTP Only”標志,可以使用以下代碼:
var_dump(session_get_cookie_params()["httponly"]);
總而言之,PHP的$_COOKIE變量使用簡單,但非常有用。它允許PHP程序員輕松地讀取和寫入客戶端數據,以增強網站的互動性和可用性。