今天給大家介紹的php學習內容呢,是session。那麼什麼是session呢,我們如何使用session呢。
session的含義是完成一件事,從開始到結束的一些系列動作和訊息。比如在網上購物,那麼從登陸該網站,到選購書籍,再到結賬,最後退出,這樣一個往上購物的流程就可以成為一個session。我們可以理解為使用者在瀏覽某個網站時,從進入網站到瀏覽器關閉所經過的這段時間內伺服器對這個使用者的資訊記錄的集合。
session控制的思想是能夠在網站中根據一個session跟蹤使用者。php中的session是通過唯一的sessionID來驅動的。sessionID是一個加密的隨機數字,由php產生,在session的生命週期中都會儲存在用戶端中,或者通過URL在網路中傳遞。
sessionID就像一把鑰匙,是用戶端唯一可見的資訊,它允許註冊一些特定的變數,因此也叫session變數。預設情況下,session變數儲存在伺服器的普通檔案中。
如何使用session?
使用session的基本步驟:
1.開始一個session
2.註冊session變數
3.使用session變數
4.登出變數並銷毀session
這些步驟不一定要在同一個檔案中完成,可以在很多指令碼中發生。下面詳細介紹下這幾個步驟:
1.開始一個session。
第一種方法,是調用session_start()函數開始一段指令碼。該函數會檢查是否有一個sessionID存在,如果不存在,則建立一個sessionID,並且可以通過超級全域數組$_SESSION訪問這個sessionID;如果已經存在,則載入這個session變數。
第二種方法,是使用php.ini檔案中的session.auto_start選項,將php設定成當有使用者訪問網站的時候就自動啟動一個session,不過這樣就無法使用對象作為session變數。
2.註冊一個session變數。
可以使用$_SESSION建立一個session變數;
如:$_SESSION['NAME']= "messi";
3.使用session變數。
要使用一個session變數,必須使用session_start()函數先啟用一個session,這樣就可以通過$_SESSION全域數組訪問這個變數了。
當使用對象作為session變數時,在調用session_start()函數重新載入session變數之前,必須包含對該類對象的定義,否則php無法構建該session對象。
相反,在檢查是否已經設定session變數時,必須考慮安全問題,因為變數可以通過get或者post方法設定。通過檢查$_SESSION數組來確定一個變數是否已經註冊過。
4.登出變數與銷毀session
當使用完一個session變數後,應該將其銷毀,可以通過銷毀數組$_SESSION的適當元素之間登出該變數。
如:unset($_SESSION['NAME'])
如果要一次銷毀所有的session,不能用銷毀整個數組$_SESSION的方法,這樣也會禁止cookie功能。我們可以這樣解決 $_SESSION = array();
消除了所有變數之後,還應該銷毀sessionID,可以這樣做 session_destroy();這樣就清除sessionID了。
以上就是php學習之session的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!