回覆列表
  • 1 # 使用者1182379805322

    一個帳號成功登入之後,至少要做兩件事情:1是在伺服器端生成並儲存session,2是在相關表中把使用者登入狀態從否改為是(例如user表中isonline從0改為1)。按照樓主的想法,在做這兩件事情之前,還應該做一件事情,是判斷user表中isonline的值是0還是1,如果是0,則這是一個當前未登入系統的使用者,這時開始做上邊提到的兩件事。如果是1,則是已經登入的使用者,這時可以給出提示資訊。這個問題牽扯到了退出。如果使用者正常點選退出按鈕,則還是至少做兩件事情:1是登出伺服器端session,2是把相關表中的使用者登入狀態從是改為否(例如user表中isonline從1改為0)。為了處理使用者沒有正常退出的情況,比如長時間無任何操作,或者直接關閉瀏覽器。也可以認為使用者已經退出系統。長時間無任何操作,有時效性的session會自動登出(預設時間是似乎是20分鐘);直接關閉瀏覽器,session也是自動登出。可以有一個定時執行的程式,來檢查已經登入的使用者的session是否不存在,如果不存在,則把user表中isonline從1改為0。以上基本能解決樓主程式上的要求。至於效率,PHP程式碼的效率,資料庫的效率,頻寬充裕,伺服器穩定,負載均衡器...... 網站建設的各個方面有各自提高效率的方法。話題比較大,我回答不了,等待高人解答。第一次在知乎上回答問題,個人愚見,僅供參考。

  • 中秋節和大豐收的關聯?
  • 藥流十一天了還在流血流出的血像鼻涕是不是沒流乾淨藥?