1.記錄訪客的某些信息。例如可以利用Cookie紀錄用戶光臨你的網頁次數,
或者訪客曾經輸入過的信息,某些網站(如網易社區)可以自動紀錄你上次登錄
的用戶名,用的就是Cookie。
2.在頁面之間傳遞變量。瀏覽器並不會保存當前頁面上任何變量信息的,當
頁面被關閉,頁面上的任何變量信息將隨之消失。如果你在一個頁面有一個變量
a = 5,要把這個變量傳遞到另外一頁,可以使用 https://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.
" 光臨我的主頁
";
?>
程序運行的結果如本頁最頂所示(刷新一下看看訪問的次數是否變化)。
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"].