什麼是Session?

- 中國WEB開發者網絡 (http://www.webasp.net)
-- 技術教程 (http://www.webasp.net/article/)
--- 什麼是Session? (http://www.webasp.net/article/13/12517.htm)
-- 作者:未知
-- 發佈日期: 2004-08-23
首先解釋一下什麼是Session,如果你不知道的話。當一個訪問者來到你的網站的時候一個Session就開始了,當他離開的時候Session就結束了。本質是來說,cookie是和瀏覽器有關係,而Session變量就可以存一些資源變量在服務器上面。PHP4用文件存儲Session變量,但理論上可以用數據庫或共享內存來做這件事。

所有的頁面都用PHP4的Session必須用Session_start()功能函數來告訴PHP4引擎來取有關的Session到內存中

。函數Session_start()可以在cookie域裡或請求的參數中取得Session_id為了響應http請求。如果不能找到

SessionID就新建一個Session。

什麼是Session變量?
Session變量是個有規律的全局變量,當一個Session變量被註冊,用PHP4可以在所有的頁面上得到Session

的值。用Session_register("variable_name")可以註冊一個Session變量。在所有並發的的用Session就使用

Session_start()函數,變量的值將作為一個Session變量註冊為Session。

我們能作什麼?
通常有很多的方法來管理Session和Session變量,我將給你個例子。說你將建一個商業站點,像我這樣的,

你可能想保持已經被承認的用戶當前的名字,或有多少的新消息用戶已經得到。為了不在從數據庫裡讀取,你

有兩個方法可以做:
1.1.你可以用三個cookie
。authenticated_user - 當前的用戶名稱
。num_messages - 他得到的信息的數量
。expire_time - 何時重新讀取信息數量
2.2.用sessions和新建三個session變量
第一個方法安全性不好,一些人可以得到cookie進入他人的領域。
用sessions用戶僅得到一個cookie,安全的多。

缺點

session給了你自由,過度的用session會影響腳本語言的使用。雖然PHP4的session有些限制,如你不能存對像

在session裡。

自己試一試吧!

webasp.net