來源:互聯網
上載者:User
關鍵字
作用
Cookie
string
cookie
變數
頁面
Cookie
1.記錄訪客的某些資訊。例如可以利用Cookie紀錄使用者光臨你的網頁次數,
或者訪客曾經輸入過的資訊,某些網站(如網易社區)可以自動紀錄你上次登入
的使用者名稱,用的就是Cookie。
2.在頁面之間傳遞變數。瀏覽器並不會儲存當前頁面上任何變數資訊的,當
頁面被關閉,頁面上的任何變數資訊將隨之消失。如果你在一個頁面有一個變數
a = 5,要把這個變數傳遞到另外一頁,可以使用 http://url?a=5 方式傳遞變
量,或者在網頁中插入一個表單,並在表單中插入一個隱含域(input hidden
field),以POST/GET方式傳遞到下一頁。另外一種方式就是使用Cookie,把變
量以Cookie形式儲存下來,然後在下一頁通過讀取該Cookie來獲得變數的值。
注意:Cookie一定要在其他Header之前發送出去,否則出錯!
下面一個紀錄某訪客來訪次數的例子:
$HTTP_COOKIE_VARS["VisitTimes"]?($VisitTimes ++):($VisitTimes = 1);
setcookie("VisitTimes",$VisitTimes,time()+31536000);
echo "
歡迎你第 ".$VisitTimes.
" 光臨我的首頁
\n";
?>
程式啟動並執行結果如本頁最頂所示(重新整理一下看看訪問的次數是否變化)。
PHP的Cookie函數為:
int setcookie(string name, string value, int expire, string path,
string domain, int secure);
string name
cookie 的名字
string value
cookie 的值
int exprie
cookie 的有效期間,標準的 Unix timestamp
string path,domain
cookie 的路徑和網域名稱
int serure
cookie 是否以安全的http方式傳送
其中,除了參數 string name是必須的,其他參數均為可選。int expire 是
1970年1月1日00:00到某個時間的之間的秒差值。它的預設值為0,也就是說瀏覽
器關閉了cookie 將自動被刪除。上面例子中有效期間為一年(365*24*3600=31536000)。
再次重申:cookie 一定要在網頁的其他header之前被發送,否則出錯!!
Cookie 被設定之後,要讀取其值,有兩個方法:
直接把 cookie 的名字作為變數名字,即$name。
使用$HTTP_COOKIE_VARS["name"].