PHP5中Cookie與 Session詳解

2021-09-06 23:10:39 字數 2301 閱讀 1297

1、cookie和session簡介與區別

在非常多時候,我們需要跟蹤瀏覽者在整個**的活動,對他們身份進行自動或半自動的識別(也就是平時常說的**登陸之類的功能),這時候,我們常採用cookie與 session來跟蹤和判斷。

區別session資訊是存放在server端,但session id是存放在client cookie的,當然php的session存放方法是多樣化的,這樣就算禁用cookie一樣可以跟蹤

cookie是完全保持在客戶端的如:ie firefox 當客戶端禁止cookie時將不能再使用

2、cookie的配置與應用

setcookie(string name, string value, int expire,string path, string domain, int secure);
其中name是cookie變數名稱標識,你在php中將能象使用普通變數名相同來用他引用cookie變數。value是cookie變數的初始值,expire 表示該cookie變數的有效時間;path 為該cookie變數的相關路徑;domain 表示cookie變數的**;secure 則需在 https 的安全傳輸時才有效。

setcookie("cookie", "cookievalue",time()+3600, "/forum", ".php100.com", 1);
接收和處理cookie

php對cookie的接收和處理的支援非常好,是完全自動的,跟form變數的原則一樣,特別簡單。

比如設定乙個名為 mycookier的cookie,php會自動從web伺服器接收的http頭里把它分析出來,並形成乙個與普通變數一樣的變數,名為$ mycookie,這個變數的值就是cookie的值。陣列同樣適用。另外乙個辦法是引用php的全域性變數$http_cookie_vars陣列。

分別舉例如下:(假設這些都在以前的頁面裡設定過了,並且仍然有效)

刪除cookie

要刪除乙個已經存在的cookie,有兩個辦法:

1、setcookie("cookie", "");

2、setcookie("cookie", "value" , time()-1 / time() );

使用cookie的限制

1、必須在html檔案的內容輸出之前設定;

2、不同的瀏覽器對cookie的處理不一致,且有時會出現錯誤的結果。

3、限制是在客戶端的。乙個瀏覽器能建立的cookie數量最多為30個,並且每個不能超過4kb,每個web站點能設定的cookie總數不能超過20個。

3、session的配置與應用

session_start();                    //初始化session.需在檔案頭部

$_session[name]=value; //配置seeeion

echo $_session[name]; //使用session

isset($_session[name]); // 判斷

unset($_session[name]); //刪除

session_destroy(); //消耗所有session

注意:session_register(),session_unregister,session_is_registered在php5下不再使用

//cookies用法例項

if($_get['out'])

if($_post['name']&&$_post['password']) //如果變數使用者名稱和密碼存在時,在下面設定cookies

if($_cookie['id']&&$_cookie['pass'])

?>

//session用法例項

<?php 

//session用法例項

session_start();//啟動session,必須放在第一句,否則會出錯。

if($_get['out'])

if($_post['name']&&$_post['password'])

if($_session['id']&&$_session['pass'])

?>

php5中this,self,parent的意義

php5是一具備了大部分物件導向語言的特性的語言,比php4有了很多的物件導向的特性,但是有部分概念也比較繞人,所以今天拿出來說說,說的不好,請高手見諒.閱讀本文,需要了解php5的物件導向的知識 首 先我們來理解三個關鍵字 this,self,parent,從字面上比較好理解,是指這,自己,父親,...

php5中this,self,parent的意義

php5是一具備了大部分物件導向語言的特性的語言,比php4有了很多的物件導向的特性,但是有部分概念也比較繞人,所以今天拿出來說說,說的不好,請高手見諒.閱讀本文,需要了解php5的物件導向的知識 首 先我們來理解三個關鍵字 this,self,parent,從字面上比較好理解,是指這,自己,父親,...

php5 mysql Mysql在php5中的應用

1.php與mysql建立連線 php.ini載入mysql元件 extension php mysql.dll 前的 去掉 extension dir 路徑是否正確 php連線mysql函式 mysql connect 開啟mysql連線 mysql select db 開啟乙個資料庫 和or d...