0

メッセージを送信したユーザーがオンラインかオフラインかをチャット スクリプトで表示しようとしています。

そのために、chat.txt ファイルからチャット メッセージを取得するために 800 ミリ秒の ajax が連続して実行されますが、私の問題は、特定のユーザーがオンラインかオフラインかを示すことです。

私はこれを試しました:-

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