PHP用戶指南-cookies部分

php(做為現在的主流開發語言)用戶指南-cookies部分

在這課教程我們將學習怎樣利用 php(做為現在的主流開發語言) 處理cookies,我將試著使事情盡可能簡單地去解釋cookies的一些實際應用。

什麼是cookies及作用?  
cookies是由web服務器產生的並且存在客戶端的一些信息。它嵌在html信息中,由服務器端指定,在客戶端及服務器端間傳遞信息
。它通常用來:用戶網頁個性化,計數器,儲存被瀏覽站點的信息等。

cookies和php(做為現在的主流開發語言)
在 php(做為現在的主流開發語言)中用cookies是相當容易的。可以使用setcookie函數設置一個cookie。cookie是 HTTP標頭的一部分, 因此設置cookie功能必須在任何內容送到瀏覽器之前。這種限制與header()函數一樣。任何從客戶端傳來的cookie將自動地轉化成一個php(做為現在的主流開發語言)變量。php(做為現在的主流開發語言)取得信息頭並分析, 提取cookie名並變成變量。因此,如果你設置cookie如setcookie(“mycookie”,”wang”);php(做為現在的主流開發語言)將自動產生一個名為$mycookie,值為”wang”的變量.

先讓我們復習一下setcookie函數語法:
setcookie(string CookieName, string CookieValue, int CookieExpireTime, path, domain, int secure);
PATH:表示web服務器上的目錄,默認為被調用頁面所在目錄
DOMAIN:cookie可以使用的域名,默認為被調用頁面的域名。這個域名必須包含兩個”.”,所以如果你指定你的頂級域名,你必須用”.mydomain.com”
SECURE:如果設為”1″,表示cookie隻能被用戶的瀏覽器認為是安全的服務器所記住

應用:
對於一個需要註冊的站點,將自動識別用戶的身份,並發送給它信息,如果是陌生人,將告訴他請先註冊。我們按下面給出的信息創建一個小型數 據庫:名字(first name),姓(last name),email地址(email address),計數器(visit counter).
按下面步驟建表:

MySQL(和PHP搭配之最佳組合)> create database users;  
Query OK, 1 row affected (0.06 sec)  

MySQL(和PHP搭配之最佳組合)> use users;  
Database changed  

MySQL(和PHP搭配之最佳組合)> create table info (FirstName varchar(20), LastName varchar(40),  
email varchar(40), count varchar(3));  
Query OK, 0 rows affected (0.05 sec)
  
好,現在有瞭符合要求的表,我們可以建一個php(做為現在的主流開發語言)頁面對照數據庫檢查cookies.

########################index.php(做為現在的主流開發語言)##################################
<? if (isset($Example)) { //Begin instructions for existing Cookie  
$info = explode(“&”, $Example);  
$FirstName=$info[0];  
$LastName=$info[1];  
$email=$info[2];  
$count=$info[3];  
$count++;  

$CookieString=$FirstName.&.$LastName.&.$email.&.$count;  
SetCookie (“Example”,$CookieString, time()+3600); //設一新的cookie  

echo” <html>  
<title>wang example</title>  
</head>  
<body>  
<p>Hello $FirstName $LastName, this is your visit number: $count</p>  
<p>Your email address is: $email</p>  
<body>  
<html>”;  

MySQL(和PHP搭配之最佳組合)_connect() or die (“Problem connecting to DataBase”); //update DB  
$query = “update info set count=$count where FirstName=$FirstName and  
LastName=$LastName and email=$email”;  
$result = MySQL(和PHP搭配之最佳組合)_db_query(“users”, $query) or die (“Problems …. “);  

} //End Existing cookie instructions  

else { //Begin inctructions for no Cookie  

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *