Bestimmen des Online-Status eines Benutzers in PHP und MySQL
Mithilfe der Sitzungsverfolgung zielt dieser Artikel darauf ab, eine effektive Methode zur Bestimmung des Online-Status eines Benutzers zu etablieren Präsenz.
Huckepack auf Sitzungen
Das Huckepack auf PHP-Sitzungen stellt zwar eine praktische Lösung dar, basiert jedoch auf Zeitstempeln und Zeitüberschreitungen. Um diese Einschränkungen zu vermeiden, untersuchen wir einen alternativen Ansatz, der sich auf die Verfolgung der Benutzeraktivität konzentriert.
Datenbankbasiertes Tracking
Erstellen Sie in der Tabelle „Benutzer“ Ihrer Datenbank eine „lastActiveTime „Feld, das den Zeitpunkt der letzten Interaktion eines Benutzers erfasst. Indem Sie dieses Feld kontinuierlich aktualisieren, können Sie den Online-Status eines Benutzers ermitteln, indem Sie nach Benutzern mit einer „lastActiveTime“ innerhalb eines bestimmten Zeitraums, z. B. der letzten fünf Minuten, suchen.
Zeitzonen vermeiden
Um den Vorgang zu vereinfachen, verwenden Sie die Zeit Ihres Servers (über die NOW()-Funktion von MySQL), anstatt zu versuchen, Zeitzonen zu berücksichtigen. Dieser Ansatz bietet eine zuverlässige Methode zur Verfolgung aktiver Benutzer in Echtzeit.
Ständige Updates
Wenn die Verfolgung kontinuierlicher Aktivitäten unerlässlich ist, können Sie ein JavaScript-Skript implementieren, das sendet jede Minute einen „Ping“ an Ihren Server. Dadurch werden Benutzeraktivitätsdatensätze aktualisiert, ohne dass ein ständiges Durchsuchen der Seite erforderlich ist.
Aktualisiertes Code-Snippet
Das folgende aktualisierte Code-Snippet nutzt Fetch und verspricht, die „Ping“-Anfragen zu verarbeiten:
<code class="javascript">(async function ping() { // Asynchronously call stillAlive.php await fetch("stillAlive.php"); // Issue this call again in 60 seconds setTimeout(ping, 60_000); }());</code>
Das obige ist der detaillierte Inhalt vonWie kann der Online-Status des Benutzers in PHP und MySQL effizient verfolgt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!