問個session很簡單的有關問題,小弟我可能是在哪陷著了
來源:互聯網
上載者:User
問個session很簡單的問題,我可能是在哪陷著了。
php用session值進行使用者是否登入的判斷,我常看到這樣的例子:
就是有一個表單,輸入 使用者名稱和密碼,然後在一個php頁面進行驗證,如果驗證成功(就是從資料庫中尋找是否有使用者名稱和密碼相匹配),就產生如下sessoin
$_SESSION['username'] = 'csdn';
$_SESSION['pwd'] = 'pwd';
然後在其他頁面進行判斷 $_SESSION['username'] 是否為空白,如果不為空白,說明是登入了。。。
那我的問題就來了:$_SESSION 不是存在伺服器上的嗎?那多個使用者登入了,$_SESSION['username'] 豈不是被重設了好多次,伺服器怎麼正確給用戶端做區分呢???
我都暈了,我感覺 很簡單的事,結果我愣是想不明白。。。肯定 是我哪裡理解錯了,請幫我指出來。
謝謝了
------解決思路----------------------
$_SESSION 由 session_start 函數產生
而 $_SESSION 的內容是 session_start 依據傳入的 cookie 賦值的
所以不會出現你疑惑的情況
也就是說使用者甲的 $_SESSION 和使用者乙的 $_SESSION 雖然都是 $_SESSION,但內容是不一樣的
------解決思路----------------------
session 會有一個從用戶端傳過來的session_id來標識不同的使用者的,這個session_id是唯一的,所以樓主不用擔心會混亂。
------解決思路----------------------
每個通話都是唯一的...也就是上面所說到的 session_id,所以每一次瀏覽器和伺服器端建立起通話的時候這個ID 都是唯一的,伺服器會進行判斷 我在和誰進行通話.