2009-02-20 61 views
5

在我的研究中,找到一種方法讓PHP告訴我有多少人在我的網站上「在線」,我發現有一些方法可以「估計」這個。腳本告訴我誰和有多少用戶在線

我選擇記錄網站上發生的所有事情,也出於錯誤管理的原因,但現在我一直在寫我的SQL查詢。

Basicly我有「IP」,「用戶ID」和「日期時間」數據庫和我想,這樣的查詢會做的伎倆:

SELECT distinct(IP), datetime 
FROM `bigBrother` 
WHERE datetime BETWEEN DATE_SUB(NOW(), INTERVAL 3 MINUTE) AND NOW() 

的問題是,我的網站主要是看並在學校網絡上由學生使用,以及......他們都擁有相同的知識產權。

所以問題是,我正在做這件事,我可以從我的數據庫中選擇兩個不同的行,以便我可以整理註冊用戶(誰將擁有「用戶ID」 - 其他用戶將擁有userid = 0 )?

回答

3

使用Cookie而不是IP地址。

PHP使它的會話機制變得非常簡單。在每一個你首先做一個session_start()然後你使用session_id()返回的值作爲你可以放入數據庫的訪問者的標識符。

+0

你能解釋一下嗎? – Jasper 2009-02-20 09:23:05

2

我創建了一個學校網站的系統,要求這個功能,以及我是如何做到的。

我有用戶表,該表中有一個叫田「online_time」

在每一頁如果用戶登錄到該更新了「online_time」到當前時間的函數被調用該用戶。 (unixtime)

然後我有一個「誰在線」功能,查看「online_time」,並顯示所有用戶最近5分鐘的在線時間。

編輯的評論:

你可以做同樣的功能保存在另一個表中的會話ID,並將其保存的時間。會話ID對於該用戶瀏覽是唯一的,因此您可以在最近5分鐘內獲得會話ID的活動數量。

session_id() 
+0

我也有這個,管理員也想知道有多少人在線 - 所以我也需要未登錄的用戶 – Jasper 2009-02-20 09:22:07

相關問題