今天跟大家介紹的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的內容,更多相關內容請關注PHP中文網(m.sbmmt.com)!