PHP と MySQL を使用してユーザーのオンライン ステータスをリアルタイムで確認する方法: 総合ガイド。

Patricia Arquette
リリース: 2024-10-27 11:45:29
オリジナル
733 人が閲覧しました

How to Determine User Online Status in Real-Time Using PHP and MySQL: A Comprehensive Guide.

セッションと MySQL を使用してユーザーのオンライン ステータスを確認する方法

ユーザーがオンラインであるかどうかをリアルタイムで判断することは、さまざまなアプリケーションにとって重要です。この目的でセッションを使用するのは一般的なアプローチですが、時間ベースのしきい値に依存せずにユーザー アクティビティを正確に追跡する最適なソリューションを見つける必要があります。

これを実現する 1 つの方法は、Users の lastActiveTime フィールドを活用することです。テーブル。このフィールドは、ユーザーがページにアクセスするたびに更新できます。特定の時間枠 (過去 5 分など) 内で更新された lastActiveTime を持つユーザーのテーブルを定期的にクエリすることで、現在オンラインになっているユーザーを特定できます。

たとえば、MySQL の NOW() 関数を使用してサーバーを取得します。 -側時間により、タイム ゾーン間で一貫性が保証されます:

<?php
$query = "SELECT COUNT(*) AS online_count FROM Users WHERE lastActiveTime >= NOW() - INTERVAL 5 MINUTE";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_assoc($result);
$onlineCount = $row['online_count'];
?>
ログイン後にコピー

ただし、継続的なユーザー アクティビティを追跡するには、60 秒ごとなどの定期的な間隔でサーバーに ping を送信する JavaScript の実装を検討してください。こうすることで、ユーザーがサイトをアクティブに移動していない場合でも、オンラインとしてマークされます。

fetch と Promise を使用した更新された JavaScript コード スニペットは次のとおりです。

<code class="js">(async function ping() {
  try {
    await fetch("stillAlive.php");
  } catch (error) {
    console.error(error);
  }
  setTimeout(ping, 60_000);
}());</code>
ログイン後にコピー

セッションとlastActiveTime フィールドを JavaScript ping メカニズムと組み合わせることで、時間ベースの基準に依存せずに、PHP および MySQL でユーザーのオンライン ステータスを効果的に判断できます。

以上がPHP と MySQL を使用してユーザーのオンライン ステータスをリアルタイムで確認する方法: 総合ガイド。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!