1. 程式人生 > >會話ID 和 會話變數的區別

會話ID 和 會話變數的區別

     PHP中,每次開始會話將會呼叫session_start()函式,將會檢查是否存在會話ID,如果不存在則建立一個(在初次訪問,或者長時間不訪問後,再次訪問);如果存在,則載入對應的會話變數。

     第二步,註冊會話變數,根據會話ID,註冊會話變數。比如使用者使用ID:1(實際上是隨機編碼,沒這麼簡單的)訪問伺服器,並且通過了登陸介面,伺服器分配給此ID一個會話變數user1。

    第三步,訪問其他網頁,每個網頁的開頭都要檢查使用者ID及會話變數,保證是同一個使用者。

    第四步,清除會話變數,再清除會話ID。

   問:為什麼使用會話ID又使用會話變數?

    答:使用會話ID是保證,是同一臺客戶端在訪問;但是這還不夠,伺服器還需要知道這個客戶端的使用者,所以使用會話變數,關聯此ID。

   有人又會問,那麼在使用者登入之後,我就用判斷此ID來判斷是不是同一個使用者呀?正解,你那什麼判斷是同一個使用者,是不是比如說用一個數組,key是使用者名稱字,而value是ID? 哈哈,會話變數的效果是key是ID value是使用者名稱。效果不是一樣的嘛?

   就是這樣的!