On this page我創建了一個聊天室,只有在您登錄論壇時纔有效。它會抓取頁面上的會話用戶名,並在發送聊天時顯示您的姓名。消息通過使用Ajax的.txt文件發送並存儲併發送出去,並使用PHP進行處理。沒有數據庫(至今)。如何抓住會話中同一頁面上的用戶並列出他們?
我想知道我該如何抓取&列出聊天頁面上的當前用戶?我對PHP不太好,所以這對我來說有點複雜。
我的猜測是將用戶名登錄到數據庫,然後得到誰登錄顯示......我關閉了嗎?
On this page我創建了一個聊天室,只有在您登錄論壇時纔有效。它會抓取頁面上的會話用戶名,並在發送聊天時顯示您的姓名。消息通過使用Ajax的.txt文件發送並存儲併發送出去,並使用PHP進行處理。沒有數據庫(至今)。如何抓住會話中同一頁面上的用戶並列出他們?
我想知道我該如何抓取&列出聊天頁面上的當前用戶?我對PHP不太好,所以這對我來說有點複雜。
我的猜測是將用戶名登錄到數據庫,然後得到誰登錄顯示......我關閉了嗎?
試圖通過($ _SESSION)這個
<?php
session_start();
echo "<pre>";
Print_r ($_SESSION);
echo "</pre>";
//echo a single entry
echo $_SESSION['username'];
?>
foreach循環將顯示所有的會話數據..
foreach ($_SESSION as $key=>$val)
echo $key." ".$val;
你需要實現一種方法,通過一個數據庫來跟蹤用戶活動(最佳選項)或文件
示例?之前我猜我會把用戶引入數據庫,然後從數據庫中獲取用戶到列表中,並顯示在表中的用戶....... – nowayyy 2012-03-08 06:02:06
會話數據實際上是服務器端 – 2012-03-08 06:58:33
您需要保存每個用戶的會話數據以處理這種情況。存儲可以是數據庫表或文件。閱讀關於會話保存處理程序的PHP瞭解更多信息。請參閱http://phpmaster.com/writing-custom-session-handlers/和http://us2.php.net/manual/en/session.customhandler.php
將會話數據存儲到數據庫後,您可以查詢所有sessionid並使用SessionHandler :: read(sessionid)函數檢索會話數據。
您不應該爲此使用活動會話。
相反,你要算活躍用戶在聊天會話(即用戶請求的幾個最後的更新週期內聊天更新)
你要存儲用戶名與文件或數據庫中的時間戳一起,並刪除過期的時間戳的用戶從那個清單。
我不明白這是如何讓每個用戶在網頁上? – nowayyy 2012-03-08 06:12:26
請問您可以在會話中粘貼保存用戶的代碼嗎? – saba 2012-03-08 06:16:31