PHP之COOKIE支持詳解
更新時(shí)間:2010年09月20日 01:09:51 作者:
建立商業(yè)站點(diǎn)或者功能比較完善的個(gè)人站點(diǎn),常常需要記錄訪問(wèn)者的信息,在PHP中提供了兩種方便的手段:session和cookie功能.為了永久的保持用戶信息,則cookie是最便捷的手段.在這里我將為大家詳細(xì)的講解cookie的功能及使用方法.
一: 設(shè)置cookie
使用cookie前必須設(shè)置cookie.
函數(shù)原型:int setcookie(string name,string value,int expire,string path,string domain,int secure)
其中,除name外,所有的參數(shù)都是可選的,可以用空的字符串表示未設(shè)置.
屬性value: 用來(lái)指定值.
屬性path: 用來(lái)指定cookie被發(fā)送到服務(wù)器的哪一個(gè)目錄路徑下.
屬性domain:能夠在瀏覽器端對(duì)cookie的發(fā)送進(jìn)行限定.
expire參數(shù):用來(lái)指定cookie的有效時(shí)間,它是一個(gè)標(biāo)準(zhǔn)的Unix時(shí)間標(biāo)記.
可以用time()或者mktime()函數(shù)取得,以秒為單位.
secure參數(shù):表示這個(gè)cookie是否通過(guò)加密的HTTPS協(xié)議在網(wǎng)絡(luò)上傳輸.
二: 設(shè)置cookie時(shí)的注意事項(xiàng)
在同一個(gè)頁(yè)面中設(shè)置cookie,實(shí)際上是按從后往前的順序進(jìn)行的.如果要先刪除一個(gè)cookie,再寫入一個(gè)cookie,則必須先寫寫入語(yǔ)句,再寫刪除語(yǔ)句.否則會(huì)出現(xiàn)錯(cuò)誤.
三: setcookie舉例
簡(jiǎn)單的: setcookie("mycookie","value_of_mycookie");
帶失效時(shí)間的: setcookie("withExpire","Expire_in_1_hour",time()+3600);
什么都有的:setcookie("FullCookie","Full_cookie_value",time+3600,"/forum","www.123.com",1);
四: cookie的一些特點(diǎn)
cookie是面向路徑的.缺省path屬性時(shí),WEB服務(wù)器頁(yè)會(huì)自動(dòng)傳遞當(dāng)前路徑給瀏覽器.指定路徑會(huì)強(qiáng)制服務(wù)器使用設(shè)置的路徑.
在一個(gè)目錄頁(yè)面里設(shè)的cookie在另一個(gè)目錄的頁(yè)面里是看不到的.
五: 接收和處理cookie
PHP對(duì)cookie的處理是全自動(dòng)的,和處理FORM變量的原則一樣.當(dāng)然也可以使用PHP全局變量,$HTTP_COOKIE_VARS數(shù)組.
例: echo $mycookie;
echo $cookie Array[0];
echo count($cookie Array);
echo $HTTP_COOKIE_VARS["mycookie"];
六: 刪除cookie
(1)調(diào)用只帶有name參數(shù)的setcookie();
(2)使失效時(shí)間為time()或time-1;
七: 使用cookie的限制
(1) 必須在HTML文件的內(nèi)容輸出之前設(shè)置;
(2)不同的瀏覽器對(duì)cookie的處理不一致,使用時(shí)一定要考慮;
(3)客戶端的限制,比如用戶設(shè)置禁止cookie,則cookie不能建立;
八: 一個(gè)具體的例子,希望大家對(duì)cookie有更加深刻的認(rèn)識(shí)
<?
//cookie.php
if(!isset($flag))
{
setcookie("mycookie","this my cookie!");
header("location:cookie.php?flag=1");
exit;
}
?>
<html>
<body>
<?
echo "cookie中有:".$mycookie;
?>
</body>
</html>
使用cookie前必須設(shè)置cookie.
函數(shù)原型:int setcookie(string name,string value,int expire,string path,string domain,int secure)
其中,除name外,所有的參數(shù)都是可選的,可以用空的字符串表示未設(shè)置.
屬性value: 用來(lái)指定值.
屬性path: 用來(lái)指定cookie被發(fā)送到服務(wù)器的哪一個(gè)目錄路徑下.
屬性domain:能夠在瀏覽器端對(duì)cookie的發(fā)送進(jìn)行限定.
expire參數(shù):用來(lái)指定cookie的有效時(shí)間,它是一個(gè)標(biāo)準(zhǔn)的Unix時(shí)間標(biāo)記.
可以用time()或者mktime()函數(shù)取得,以秒為單位.
secure參數(shù):表示這個(gè)cookie是否通過(guò)加密的HTTPS協(xié)議在網(wǎng)絡(luò)上傳輸.
二: 設(shè)置cookie時(shí)的注意事項(xiàng)
在同一個(gè)頁(yè)面中設(shè)置cookie,實(shí)際上是按從后往前的順序進(jìn)行的.如果要先刪除一個(gè)cookie,再寫入一個(gè)cookie,則必須先寫寫入語(yǔ)句,再寫刪除語(yǔ)句.否則會(huì)出現(xiàn)錯(cuò)誤.
三: setcookie舉例
簡(jiǎn)單的: setcookie("mycookie","value_of_mycookie");
帶失效時(shí)間的: setcookie("withExpire","Expire_in_1_hour",time()+3600);
什么都有的:setcookie("FullCookie","Full_cookie_value",time+3600,"/forum","www.123.com",1);
四: cookie的一些特點(diǎn)
cookie是面向路徑的.缺省path屬性時(shí),WEB服務(wù)器頁(yè)會(huì)自動(dòng)傳遞當(dāng)前路徑給瀏覽器.指定路徑會(huì)強(qiáng)制服務(wù)器使用設(shè)置的路徑.
在一個(gè)目錄頁(yè)面里設(shè)的cookie在另一個(gè)目錄的頁(yè)面里是看不到的.
五: 接收和處理cookie
PHP對(duì)cookie的處理是全自動(dòng)的,和處理FORM變量的原則一樣.當(dāng)然也可以使用PHP全局變量,$HTTP_COOKIE_VARS數(shù)組.
例: echo $mycookie;
echo $cookie Array[0];
echo count($cookie Array);
echo $HTTP_COOKIE_VARS["mycookie"];
六: 刪除cookie
(1)調(diào)用只帶有name參數(shù)的setcookie();
(2)使失效時(shí)間為time()或time-1;
七: 使用cookie的限制
(1) 必須在HTML文件的內(nèi)容輸出之前設(shè)置;
(2)不同的瀏覽器對(duì)cookie的處理不一致,使用時(shí)一定要考慮;
(3)客戶端的限制,比如用戶設(shè)置禁止cookie,則cookie不能建立;
八: 一個(gè)具體的例子,希望大家對(duì)cookie有更加深刻的認(rèn)識(shí)
復(fù)制代碼 代碼如下:
<?
//cookie.php
if(!isset($flag))
{
setcookie("mycookie","this my cookie!");
header("location:cookie.php?flag=1");
exit;
}
?>
<html>
<body>
<?
echo "cookie中有:".$mycookie;
?>
</body>
</html>
您可能感興趣的文章:
- php中cookie的使用方法
- PHP CURL獲取cookies模擬登錄的方法
- PHP setcookie設(shè)置Cookie用法(及設(shè)置無(wú)效的問(wèn)題)
- php 刪除cookie方法詳解
- PHP中Cookie的使用詳解(簡(jiǎn)單易懂)
- PHP讀取CURL模擬登錄時(shí)生成Cookie文件的方法
- php使用cookie實(shí)現(xiàn)記住登錄狀態(tài)
- PHP會(huì)話控制:Session與Cookie詳解
- 在PHP中設(shè)置、使用、刪除Cookie的解決方法
- php cookie 登錄驗(yàn)證示例代碼
- PHP實(shí)現(xiàn)登錄的Cookie存儲(chǔ)方案詳解
相關(guān)文章
php數(shù)組函數(shù)array_walk用法示例
這篇文章主要介紹了php數(shù)組函數(shù)array_walk用法,分析了array_walk對(duì)數(shù)組中每個(gè)成員調(diào)用用戶函數(shù)的使用技巧,需要的朋友可以參考下2016-05-05
php讀取mysql中文數(shù)據(jù)出現(xiàn)亂碼的解決方法
以下是對(duì)php讀取mysql中文數(shù)據(jù)出現(xiàn)亂碼問(wèn)題的解決方法進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下2013-08-08
mysql_connect localhost和127.0.0.1的區(qū)別(網(wǎng)絡(luò)層闡述)
這篇文章主要介紹了mysql_connect localhost和127.0.0.1的區(qū)別(網(wǎng)絡(luò)層闡述),本文從網(wǎng)絡(luò)通信層面講解了它們的不同,需要的朋友可以參考下2015-03-03
php中獲取關(guān)鍵詞及所屬來(lái)源搜索引擎名稱的代碼
有時(shí)候我們需要知道用戶通過(guò)哪個(gè)搜索引擎,通過(guò)拿個(gè)關(guān)鍵詞訪問(wèn)我們頁(yè)面,當(dāng)然js也可以實(shí)現(xiàn),但這里介紹下php的實(shí)現(xiàn)代碼。2011-02-02
PHP實(shí)現(xiàn)從遠(yuǎn)程下載文件的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)從遠(yuǎn)程下載文件的方法,涉及php操作文件的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03
PHP+ajax實(shí)現(xiàn)獲取新聞數(shù)據(jù)簡(jiǎn)單示例
這篇文章主要介紹了PHP+ajax實(shí)現(xiàn)獲取新聞數(shù)據(jù),涉及php ajax交互獲取信息及json格式處理的相關(guān)操作技巧,需要的朋友可以參考下2018-05-05

