亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

PHP 菜鳥教程

PHP 高級教程

PHP & MySQL

PHP 參考手冊

PHP Cookie

在本教程中,您將學(xué)習(xí)如何使用PHP cookie在用戶的瀏覽器內(nèi)部存儲少量信息。

什么是Cookie

Cookie是一個小型文本文件,可讓您在用戶計算機(jī)上存儲少量數(shù)據(jù)(最大4KB左右)。它們通常用于跟蹤諸如用戶名之類的信息,當(dāng)用戶下次訪問網(wǎng)站時,網(wǎng)站可以檢索該信息以顯示特定個性化頁面。

提示:每次瀏覽器向服務(wù)器請求頁面時,cookie中的所有數(shù)據(jù)都會自動發(fā)送到請求內(nèi)的服務(wù)器。

設(shè)置 Cookie

setcookie()函數(shù)用于在PHP中設(shè)置cookie。 確保在腳本生成的任何輸出之前調(diào)用setcookie()函數(shù),否則將不會設(shè)置cookie。 該函數(shù)的基本語法可以通過以下方式給出:

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

該setcookie()函數(shù)的參數(shù)具有以下含義:

參數(shù)描述
nameCookie的名稱。
valueCookie的值。由于此值存儲在用戶的計算機(jī)上,因此請勿存儲敏感信息。
expiresUNIX時間戳格式的過期日期。 在此時間之后,cookie將變得不可訪問。 默認(rèn)值為0
path在服務(wù)器上指定cookie可用的路徑。如果設(shè)置為/,則cookie將在整個域中可用。
domain指定可用于其Cookie的域,例如:www.jixiangtaizi.com.cn。
secure該字段(如果存在)表示僅當(dāng)存在安全的HTTPS連接時才發(fā)送cookie。

提示:如果cookie的過期時間設(shè)置為0或省略,則cookie將在會話結(jié)束時即瀏覽器關(guān)閉時過期。

下面是一個使用setcookie()函數(shù)創(chuàng)建名為userName的cookie并為其賦值John Carter的示例。 同時指定cookie過期時間為30天(30 days * 24 hours * 60 min * 60 sec)。       

<?php
//設(shè)置Cookie
setcookie("username", "John Carter", time()+30*24*60*60);
?>

注意:除名稱外,所有參數(shù)都是可選的。您也可以用空字符串(“”)替換參數(shù)以跳過該參數(shù),但是要跳過expire參數(shù),請改用零,因為它是整數(shù)。

警告:請勿將敏感數(shù)據(jù)存儲在Cookie中,因為惡意用戶可能會操縱敏感數(shù)據(jù)。為了安全地存儲敏感數(shù)據(jù),請使用Session

訪問 Cookie值

PHP 超全局變量$_COOKIE用于檢索cookie值。它通常是一個關(guān)聯(lián)數(shù)組,其中包含瀏覽器在當(dāng)前請求中發(fā)送的所有cookie值的列表,并以cookie名稱為關(guān)鍵字??梢允褂脴?biāo)準(zhǔn)數(shù)組符號訪問單個cookie值,例如,要顯示在上一個示例中設(shè)置的用戶名cookie,可以使用以下代碼。

<?php
//訪問單個Cookie值
echo $_COOKIE["username"];
?>

上面示例中的PHP代碼產(chǎn)生以下輸出。

John Carter

在訪問cookie的值之前,最好先檢查是否已設(shè)置cookie。為此,您可以使用PHP isset()函數(shù),如下所示:

<?php
//驗證是否設(shè)置了cookie
if(isset($_COOKIE["username"])){
    echo "Hi " . $_COOKIE["username"];
} else{
    echo "Welcome Guest!";
}
?>

您可以使用像 print_r($_cookie);這樣的print_r()函數(shù)來查看這個$_cookie關(guān)聯(lián)數(shù)組的結(jié)構(gòu),就像您處理其他數(shù)組一樣。

刪除 Cookie

您可以通過使用cookie名稱和任何值(例如空字符串)調(diào)用相同的setcookie()函數(shù)來刪除cookie,但是您需要設(shè)置為現(xiàn)在之前的過期日期,如下例所示:

<?php
//刪除cookie
setcookie("username", "", time()-3600);
?>

提示:您應(yīng)該傳遞與首次創(chuàng)建Cookie時使用的路徑,域和其他參數(shù)完全相同的名稱,以確保刪除正確的Cookie。