程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP怎麼實現網站中,同一個用戶不能同時在線?

PHP怎麼實現網站中,同一個用戶不能同時在線?

編輯:PHP綜合
先上圖,看個大概:QQ截圖20160308165626.png

一般的原則就是,後一個用戶登錄時會把前一個用戶踢下線。
在用戶首次登錄時,我們會把用戶的sessionid保存到數據庫,這個是用戶的唯一標識。方便後邊操作。
用戶只有在登錄時才會和數據庫中的phpsessid進行對比,如果不同,則更新數據庫中的phpsessionid為當前浏覽器的phpsessionid,這樣後登錄的用戶就把前邊登錄的用戶給踢下線了。
但是前邊的用戶怎麼知道自己被踢下線了?
我使用的Yii框架,在YII框架中有一個filters()這樣一個方法。在每個控制器中都存在該方法,我們可以在這個方法中,讓當前用戶的phpsessionid與數據庫中的phpsessionid進行驗證,當發現phpsessionid不同時,我們就清除當前浏覽器的phpsessionid,並退出網站,提醒用戶當前帳號在其他地方登陸。


來自何問起

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved