第十二章 會話控制

水之原發表於2014-04-23

 

學習要點:
1.Cookie 的應用
2.Session 會話處理

 

      HTTP(超文字傳輸協議)定義了通過全球資訊網(WWW)傳輸文字、圖形、視訊和所有
其他資料所有的規則。HTTP 是一種無狀態的協議,說明每次請求的處理都與之前或之後的
請求無關。雖然這種簡化實現對於HTTP 的普及做出了卓越的貢獻,但對於希望建立複雜的
Web 應用程式的開發人員來說,這點有點困擾。為了解決這個問題,出現了一種在客戶端
機器上儲存少量資訊(cookie)。
由於cookie 大小限制、數量及其他原因,開發人員又提出了一種解決方案:session 會
話處理。

 

一.Cookie的應用

設定cookie:setcookie()函式可以在客戶端生成一個cookie 檔案,這個檔案可以儲存到
期時間、名稱、值等。


建立cookie

<?php
setcookie('name','Lee',time()+(7*24*60*60));
?>

引數1:cookie 名稱
引數2:cookie 值
引數3:cookie 過期時間

 

讀取cookie

<?php
echo $_COOKIE['name'];
?>

 

刪除cookie

<?php
setcookie('name','');
setcookie('name','Lee',time()-1);
?>

 

使用Cookie 的限制

1、必須在HTML 檔案的內容輸出之前設定;
2、不同的瀏覽器對Cookie 的處理不一致,且有時會出現錯誤的結果。
3、限制是在客戶端的。一個瀏覽器能建立的Cookie 數量最多為30 個,並且每個不能
超過4KB,每個WEB 站點能設定的Cookie 總數不能超過20 個。

 

二.Session會話處理

在使用session 會話處理,必須開始session,使用session_start()開始會話。

建立session 並讀取session

<?php
session_start();
$_SESSION['name'] = 'Lee';
echo $_SESSION['name'];
?>

判斷session 是否存在

<?php
session_start();
$_SESSION['name'] = 'Lee';
if (isset($_SESSION['name'])) {
echo $_SESSION['name'];
}
?>

刪除session

<?php
session_start();
$_SESSION['name'] = 'Lee';
unset($_SESSION['name']);
echo $_SESSION['name'];
?>

銷燬所有session

<?php
session_start();
$_SESSION['name'] = 'Lee';
$_SESSION['name2'] = 'Lee';
session_destroy();
echo $_SESSION['name'];
echo $_SESSION['name2'];
?>

 注:文章出自李炎恢PHP視訊教程,本文僅限交流使用,不得用於商業用途,否則後果自負。

相關文章