如何在会话中获取同一页面上的用户并列出他们


How to grab users on the same page in a session and list them?

在这个页面上,我创建了一个聊天室,只有当你登录论坛时才能使用。它会抓取页面上的会话用户名,并在您发送聊天时显示您的姓名。消息通过使用Ajax的.txt文件发送、存储和发送,并使用PHP进行处理。没有数据库(截至目前)。

我想知道我该如何抓住&列出正在聊天的页面上的当前用户?我不太擅长PHP,所以这对我来说有点复杂

我的猜测是将用户名记录到数据库中,然后显示记录的用户。。。我接近了吗?

尝试这个

<?php 
 session_start(); 
echo "<pre>";
 Print_r ($_SESSION);
echo "</pre>";
 //echo a single entry
 echo $_SESSION['username'];
?>

通过($_SESSION)的foreach循环将显示所有会话数据。。

foreach ($_SESSION as $key=>$val)
    echo $key." ".$val;

您需要保存每个用户的会话数据来处理这种情况。存储可以是数据库表或文件。阅读PHP会话保存处理程序以了解更多信息。请参阅http://phpmaster.com/writing-custom-session-handlers/和http://us2.php.net/manual/en/session.customhandler.php

将会话数据存储到数据库中后,可以查询所有sessionid,并使用SessionHandler::read(sessionid)函数检索会话数据。

您不应该为此使用活动会话
你必须计算聊天中活跃的用户数,而不是会话数(即用户在最后几个更新周期内请求聊天更新)

您必须将用户名和时间戳一起存储在文件或数据库中,并从该列表中删除时间戳过期的用户。

您需要实现一种通过数据库(最佳选项)或文件跟踪用户活动的方法

相关文章: