【问题标题】:How to grab users on the same page in a session and list them?如何在会话中抓取同一页面上的用户并列出他们?
【发布时间】:2012-03-08 04:59:09
【问题描述】:

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

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

我的猜测是将用户名记录到数据库中,然后显示记录的人...我关闭了吗?

【问题讨论】:

    标签: php ajax session


    【解决方案1】:

    试试这个

    <?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;
    

    【讨论】:

    • 我不明白这将如何吸引页面上的每个用户?
    【解决方案2】:

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

    将会话数据存入数据库后,可以查询所有的会话标识,并使用 SessionHandler::read(sessionid) 函数获取会话数据。

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 例子?在我想我会将用户放入数据库之前,然后将用户从数据库中提取到列表中并显示表中的所有用户......
        • 会话数据实际上是服务器端的
        猜你喜欢
        • 2017-06-01
        • 2013-08-05
        • 1970-01-01
        • 1970-01-01
        • 2023-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多