程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP之學習cookie詳解

PHP之學習cookie詳解

編輯:關於PHP編程

一、設置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不能建立;

八、一個具體的例子,希望大家對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>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved