首頁  >  文章  >  後端開發  >  詳解php中的cookie

詳解php中的cookie

怪我咯
怪我咯原創
2017-07-10 09:57:331435瀏覽

建立商業站點或功能比較完善的個人站點,常常需要記錄訪問者的信息,在PHP中提供了兩種方便的手段:session和cookie功能.為了永久的保持用戶信息,則cookie是最便捷的手段.在這裡我將為大家詳細的講解cookie的功能及使用方法.

一: 設定cookie
使用cookie前必須設定cookie .
函數原型:int setcookie(string name,string value,int expire,string path,string domain,int secure)
其中,除name外,所有的參數都是可選的,可以用空的字串表示未設定.
屬性value: 用來指定值.
屬性path: 用來指定cookie被傳送到伺服器的哪一個目錄路徑下.
屬性domain:能夠在瀏覽器端對cookie的發送進行限定.
expire參數:用來指定cookie的有效時間,它是一個標準的Unix時間標記.
可以用time()或mktime()函數取得,以秒為單位.
secure參數:表示這個cookie是否透過加密的HTTPS協定在網路上傳輸.

二: 設定cookie時的注意事項
在同一個頁面中設定cookie,實際上是按從後往前的順序進行的.如果要先刪除一個cookie,再寫入一個cookie,則必須先寫寫入語句,再寫刪除語句.否則會出現錯誤.

三: setcookie範例
簡單的: setcookie("mycookie","value_of_mycookie") ;
帶失效時間的: setcookie("withExpire","Expire_in_1_hour",time()+3600);
什麼都有的:setcookie("FullCookie","Full_cookie_value",time+3600,"/ forum","www.123.com",1);

四: cookie的一些特點
cookie是面向路徑的.預設path屬性時,WEB伺服器頁會自動傳遞目前路徑給瀏覽器.指定路徑會強制伺服器使用設定的路徑.
在一個目錄頁面裡設的cookie在另一個目錄的頁面裡是看不到的.

#五: 接收和處理cookie
PHP對cookie的處理是全自動的,和處理FORM變數的原則一樣.當然也可以使用PHP全域變數,$HTTP_COOKIE_VARS陣列.
範例: echo $mycookie;
echo $cookie Array[0];
echo count($cookie Array);
echo $HTTP_COOKIE_VARS["mycookie"];

六: 刪除cookie
(1)呼叫只帶有name參數的setcookie();
(2)使失效時間為time()或time-1;

七: 使用cookie的限制
(1) 必須在HTML檔案的內容輸出之前設定;
(2)不同的瀏覽器對cookie的處理不一致,使用時一定要考慮;
(3)客戶端的限制,例如使用者設定禁止cookie,則cookie不能建立;

c: 一個具體的例子,希望大家對cookie有更加深刻的認識

 程式碼如下:

<? 
//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中文網其他相關文章!

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