Heim > Datenbank > MySQL-Tutorial > Hauptteil

So ermitteln Sie den Online-Status eines Benutzers in Echtzeit mit PHP und MySQL: Eine umfassende Anleitung.

Patricia Arquette
Freigeben: 2024-10-27 11:45:29
Original
733 Leute haben es durchsucht

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

So ermitteln Sie den Online-Status eines Benutzers mit Sitzungen und MySQL

Die Feststellung, ob ein Benutzer in Echtzeit online ist, ist für verschiedene Anwendungen von entscheidender Bedeutung. Die Verwendung von Sitzungen für diesen Zweck ist zwar ein gängiger Ansatz, erfordert jedoch die Suche nach einer optimalen Lösung, die die Benutzeraktivität genau verfolgt, ohne sich auf zeitbasierte Schwellenwerte zu verlassen.

Eine Möglichkeit, dies zu erreichen, besteht darin, das Feld lastActiveTime in den Benutzern zu nutzen Tisch. Dieses Feld kann jedes Mal aktualisiert werden, wenn ein Benutzer auf eine Seite zugreift. Indem Sie die Tabelle regelmäßig nach Benutzern mit einer aktualisierten lastActiveTime innerhalb eines bestimmten Zeitraums (z. B. der letzten 5 Minuten) abfragen, können Sie feststellen, wer gerade online ist.

Zum Beispiel können Sie die NOW()-Funktion von MySQL verwenden, um den Server abzurufen -side time stellt die Konsistenz über Zeitzonen hinweg sicher:

<?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'];
?>
Nach dem Login kopieren

Um die kontinuierliche Benutzeraktivität zu verfolgen, sollten Sie jedoch die Implementierung von JavaScript in Betracht ziehen, um den Server in regelmäßigen Abständen, z. B. alle 60 Sekunden, anzupingen. Auf diese Weise werden Benutzer als online markiert, auch wenn sie nicht aktiv auf der Website navigieren.

Hier ist ein aktualisiertes JavaScript-Code-Snippet mit Fetch und Promises:

<code class="js">(async function ping() {
  try {
    await fetch("stillAlive.php");
  } catch (error) {
    console.error(error);
  }
  setTimeout(ping, 60_000);
}());</code>
Nach dem Login kopieren

Durch die Nutzung von Sitzungen und dem Mit dem Feld „lastActiveTime“ können Sie in Kombination mit einem JavaScript-Ping-Mechanismus den Online-Status des Benutzers in PHP und MySQL effektiv ermitteln, ohne sich auf zeitbasierte Kriterien verlassen zu müssen.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie den Online-Status eines Benutzers in Echtzeit mit PHP und MySQL: Eine umfassende Anleitung.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!