首頁  >  文章  >  後端開發  >  PHP會話管理_Session會話

PHP會話管理_Session會話

WBOY
WBOY原創
2016-08-08 09:29:371131瀏覽

一、了解Session

  • Session從用戶訪問頁面開始,到斷開與網站連接為止,形成Session的生命週期。當使用者每一次連線時,PHP都會自動產生一個唯一的SessionID以識別目前用戶,並與其他使用者進行區分。

  • 在會話期間,PHP預設產生名為PHPSESSIONID的標識(該名稱可以在php.ini檔案中更改),它伴隨每一個頁面被送到瀏覽器,然後隨下一次頁面請求返回給Web伺服器。

  • SessionID可以作為會話資訊保存到資料庫中,作為主鍵(Primary Key)來區分不同的用戶,或作為伺服器端的會話檔案名稱中的唯一字串。

  • Session會話時,SessionID會分別保存在客戶端和伺服器端兩個位置。在客戶端,使用臨時的Cookie保存在瀏覽器指定目錄中(成為Session Cookie);在伺服器端,以文字檔案形式保存在指定的Session目錄中。

二、啟動Session

  • 透過session_start()函數建立會話

    bool session_start(void); 之前說明

    透過
  • session_register()
  • 函數建立會話

  • session_register()
函數用來為會話登入一個變數來隱含地啟動會話,但卻要求檔案的選項為'on',重啟Apache伺服器。

會話變數啟動後,全部保存在全域數組
    $_SESSION[]
  • 中。透過全域數組

    $_SESSION建立一個會話變數很容易,只需直接為該數組添加一個元素即可。

    三、應用Session

PHP中的Session功能強大:可以保存目前使用者的特定資料和相關資訊。可以保存陣列、物件、字串任意資料類型。將各種類型的資料加入Session中,必須套用全域數組
    $_SESSION[]
  • 四、刪除Session

刪除單一會話
    刪除會話變量,同數組的操作一樣,直接註銷
  • $_SESSION

    數組的某個元素即可。
    unset($_SESSION[‘what’]);

    刪除多個會話
  • 要一次註銷所有的會話變量,可以將一個空數組賦值給
  • $_SESSION


    $_SESSION = array();

    結束當前會話
  • 如果整個會話已經結束,首先應該註銷所有的會話變量,然後使用
  • session_destroy()

    函數清除當前的會話,並清空會話中的所有資源,徹底銷毀Session。
    session_destroy();

    五、Session應用程式

透過Session控制頁面存取權限。

  • 六、Cookie與Session比較
最大的區別是:

Session是將訊息保存在伺服器上,並透過一個Session ID來傳遞客戶端訊息,伺服器在接收到Session ID後根據這個ID來提供相關打的Session資訊資源;

    Cookie是將所有的資訊以文字檔案的情況保存在客戶端,並由瀏覽器進行管理和維護。
  • Session在伺服器存儲,客戶端用戶無法修改Session文件內容。 Cookie為客戶端存儲,Session要比Cookie安全得多。
  • 以上就介紹了PHP會話管理_Session會話,包含了面向的內容,希望對PHP教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn