當前位置:首頁 » 編程語言 » php判斷是否在線

php判斷是否在線

發布時間: 2024-11-10 18:02:19

php 如何得知ip是否在線

比較簡單的就是資料庫存session,默認的session都是在文件里存放著

客戶端請求你的站點,會自動創建一個session,(不管是不是你的會員都會自動創建session)。

1,你需要一個可以實現session入庫的類,此類很多,實現原理其實很簡單,你也可以自己寫
2,在session中加入ip(比較好的session類中都會有這個欄位)
3,查session表數據有沒有你需要的ip,沒有就不在線了

㈡ PHP網站中,如何判斷用戶是否是在線的狀態

普通http網站是一種無狀態連接,每次一個請求,一個應答,沒有長連接狀態。

但是可以通過記錄訪問時間,來確定用戶的狀態。

  1. 用戶登錄後,每次訪問,更新一下最近訪問時間在資料庫里

  2. 在用戶頁面的公共部分,做一個定時輪詢,n秒一次(防止用戶打開頁面後放著不動,看資料或者做別的)

  3. 伺服器端做一個定時,將最近時間在n秒內的用戶設為在線狀態,將最近時間大於n秒的(說明已經關了頁面),設為離線狀態。 如果是普通 web空間無法配置定時器,可以在每次用戶訪問時處理一次(如果用戶量大,需要做時間判斷,防止同時訪問量多時多次重復處理,影響伺服器性能)

  4. 如果能確定一個用戶的訪問,只有一個瀏覽器窗口,可以在窗口裡加一個關閉事件(onbeforeunload),在此事件中發送一個退出請求,主動設為離線狀態。這樣狀態管理會更完美一些

這樣基本就可以完成一個在線狀態的管理。具體n 設為多少可根據情況而定,一般5-30秒都是合理的,太短了伺服器壓力比較大,太長了誤差會比較大

㈢ php利用session怎麼判斷用戶已離線

方法有好多種,但應該都跟心跳請求類似。
首先用戶打開一個頁面後,頁面裡面會有段js腳本來反復請求一個地址,即判斷用戶是否在線的地址(跟新浪微博隔一段時間請求一個地址查看是否有新消息類似)
比如判斷頁面為A,打開的頁面為B ,則B 內的js腳本以ajax請求的方式每隔1分鍾來訪問A,A可以記錄下最後一次的請求時間,然後你就可以拿這個最後一次請求的時間來判斷用戶是否離線,比如B每隔1分鍾發送一次請求,如果最後活動時間與當前時間相差兩分鍾,就可以認為用戶已離線。

還有一種方法,就是利用js的onunload事件
當用戶關閉瀏覽器的時候,可以用onunload發送一個請求,注銷掉session,或者將用戶狀態置為離線,都可以,不過沒有上面靠譜就是,因為F5刷新頁面也同樣觸onunload事件

方法還有很多,結合你需要實現的功能和業務,多想想就出來了

㈣ php做用戶在線與離線狀態

在用戶表裡加個session欄位存取時間戳。在文件頭每次刷新就更新它。一定時間不刷新就表示人物離線了。讀取這個會員數據的時候和當前時間戳對比小於一定數就離線了

熱點內容
python3urllib文檔 發布:2024-11-13 11:08:06 瀏覽:475
存儲器存在異常 發布:2024-11-13 11:05:02 瀏覽:326
字體的演算法 發布:2024-11-13 10:56:07 瀏覽:750
cg的解壓密碼是多少 發布:2024-11-13 10:55:49 瀏覽:955
vbs編譯exe源代碼 發布:2024-11-13 10:54:19 瀏覽:637
網站付費閱讀源碼 發布:2024-11-13 10:53:15 瀏覽:724
火狐上傳不了 發布:2024-11-13 10:53:12 瀏覽:613
dota怎麼打電腦配置 發布:2024-11-13 10:53:06 瀏覽:713
求余java 發布:2024-11-13 10:41:16 瀏覽:296
編程的職位 發布:2024-11-13 10:36:12 瀏覽:777