ユーザーがたくさんの友達を持つことができるコミュニティ サイトを持っています。彼のすべての友達を表示するときに、彼の友達がオンラインかオフラインかを含めたいと思います。
私の方法は、ユーザーがログインしたときにセッションを作成し、ステータス列「オンライン」でユーザーテーブルを更新することです。彼がログアウト ボタンをクリックすると、ステータスが「オフライン」に設定されます。ログアウト ボタンをクリックせずにブラウザを閉じたらどうなるでしょうか。これが私がやりたいことです:
session_start();
if (!isset($_SESSION['LAST_ACTIVITY'])) {
// initiate value
$_SESSION['LAST_ACTIVITY'] = time();
}
if (time() - $_SESSION['LAST_ACTIVITY'] > 3600) {
// last activity is more than 10 minutes ago
session_destroy();
//direct to a php, say this user is idle and thus status = offline
header("location: update_status.php?user=".$_SESSION['username']."&status=offline");
// den redirect them to login page
} else {
// update last activity timestamp
$_SESSION['LAST_ACTIVITY'] = time();
}
これは適切な方法ですか?
編集:
ユーザーがオンラインである場合はいつでも確認し、ユーザーがページにアクセスするたびに更新する方法を示す簡単なサンプル コードを確認すると役に立ちますか?
php?user=$_SESSION['userid']
すべてのリンクに含める必要がありますか?