0

我试图在我的聊天脚本中显示发送消息的用户是在线还是离线。

为此,持续 800 毫秒的 ajax 从 chat.txt 文件中获取聊天消息,但我的问题是显示给定用户是在线还是离线状态。

我试过这个: -

function show_status() {
    var id = ("#id").val();
    if (window.XMLHttpRequest)
    {
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("status").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET",'/status.php?id='+id,true);
    xmlhttp.setRequestHeader("Content-type","text/html");
    xmlhttp.send();
}

在 status.php ...我有这个代码: -

<?php
    if(isset($_GET['id'])) {
      if( $_GET['id'] === '123') {
         echo 'Online';
      } else {
         echo 'Offline';
      }
    }
    if( $_GET['id'] === '321') {
       echo 'Online';
    } else {
    echo 'Offline';
    }
?>

但问题是,如果我的 id 是 123,它向我显示,我的帐户在线,即使 321 在线它也显示离线,对于 321 的用户,它显示他的 id 321 在线和其他帐户离线,有什么方法吗, 否决.. 这并将所有当前在线的用户显示为在线。在不接触数据库的情况下,我不想每次都在数据库中运行查询。

4

0 回答 0