2010-07-28 16 views
3

追蹤有多少用戶和客人在線的最佳方式是什麼?我做一個有趣和學習的論壇如何處理在線狀態。客人,用戶等

現在我有一個名爲is_onlinelast_access_time的用戶表中的2個字段。

如果當前時間比last_access_time多5分鐘或更多,我將is_online設置爲零。如果登錄用戶刷新瀏覽器,我將其設置爲1.

但客人呢?我想跟蹤有多少客人也

另一件很酷的事情是顯示用戶正在查看的頁面。並在頁面上,例如論壇主題,5位嘉賓,荷馬和舒默正在瀏覽此頁面。但我應該如何構造這個?嗯,也許我應該爲此提出另一個問題。

我不知道我應該做的

你有什麼建議?

+0

+1和+ fav。好問題,我也會等待回覆。 – CuSS 2010-07-28 17:18:10

回答

0

您無法確定哪個頁面的用戶查看,但您可以跟蹤他們上次瀏覽的頁面。每次將頁面傳遞給用戶時,都要在與其關聯的數據庫行中記錄該頁面的路徑。瞧。

爲了保持訪客數量,我建議跟蹤最近X分鐘內在特定頁面上看到的不同的未經身份驗證的IP/HTTP-User-Agent組合的數量。

1

我會爲此使用cookies。當用戶輸入時設置一個cookie(首先檢查以確保一個不存在)。爲該用戶生成唯一標識的簡單方法是將其IP加上當前時間。

$id = md5($_SERVER['REMOTE_ADDR'] . time()); 

在數據庫中存儲該ID,並用它來引用

您可以檢查它們被抓住或者$ _ SERVER [「PHP_SELF」]或$ _SERVER [「REQUEST_URI」]靠近觀看的網頁你的php源代碼的頂部。將其存儲在表格中。我會看看php.net對存儲在_SERVER全局內容的解釋,因爲如果你發現你需要的不僅僅是他們所在的文檔(例如index.php),它應該會有所幫助。 Found here.

您可能需要分開用於訪問該頁面的查詢字符串,解析出變量以確定其請求的頁面。無論哪種方式,這都可以通過cookie來完成,或者只使用一個cookie來存儲唯一的ID並使用您的表來存儲其他所有內容。

相關問題