現在、php セッション変数を使用して、Web ページにすべてのオンライン ユーザーを表示しようとしています。これを行うには、ユーザーがログインまたはログアウトするたびに、データベースの列が「オンライン」または「オフライン」に設定されます。ただし、ユーザーがブラウザを閉じたときにデータベースが更新されないため、これは完全には機能しません。 (したがって、セッションを破棄します)。特定のセッションIDが設定されているかどうかを確認する別の方法はありますか??
現在、私は次のようにセッションを設定しています:
session_start();
$_SESSION['username']="Example Username";
セッション変数が設定されているかどうかを現在のユーザーのページから確認するには、次のようにします。
if(isset($_SESSION['username']))
{
//username is set
}
しかし、特定のユーザーがオンラインかどうかを確認する必要がある場合、たとえば、設定されているすべてのセッション変数の配列を取得するにはどうすればよいでしょうか? 例えば
//Get all $_SESSION['username'] vars
//loop through array and check for specific $_SESSION
for($i=0; ... )
{
if( $_SESSION['username'][$i] == "User 1" )
{
//do something
}
}
私がこれまでに読んだすべてのことから、ページ上のすべてのセッションの配列を取得する方法はないようです..それを行うためのより良い方法はありますか?たとえば、facebook、twitter などはどのように処理しますかこのもの?ご協力いただきありがとうございます!