Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jaki jest najłatwiejszy sposób ustalenia, czy użytkownik jest online? (PHP/MYSQL)

Nie zawracaj sobie głowy ustalaniem różnic między strefami czasowymi. To nie jest konieczne.

Za każdym razem, gdy użytkownik uzyskuje dostęp do strony, zaktualizuj pole w swoim rekordzie tabeli Użytkownicy, kiedy ostatnia aktualizacja była aktualizowana. Następnie wykonaj zapytanie dla wszystkich użytkowników, których czas ostatniej aktualizacji nastąpił w ciągu ostatnich 5 minut. Cokolwiek więcej niż to, i są uważane za „offline”.

Jeśli użyjesz swojego czasu serwera, za pomocą funkcji NOW() w MySQL, zboczysz z obliczania różnic między strefami czasowymi.

Jest to standardowy sposób śledzenia, ilu użytkowników jest obecnie online (czyli aktywnych w ciągu ostatnich kilku minut).

Stale aktualizowane

Jeśli chcesz wiedzieć, że nadal są aktywne, nawet gdy nie przeskakują ze strony na stronę, dołącz trochę skryptu java, aby pingować serwer co około 60 sekund, aby poinformować Cię, że nadal żyje. Będzie działać tak samo, jak moja pierwotna sugestia, ale zaktualizuje Twoje dane bez konieczności gorączkowego przeglądania Twojej witryny co najmniej raz na pięć minut.

var stillAlive = setInterval(function () {
    /* XHR back to server
       Example uses jQuery */
    $.get("stillAlive.php");
}, 60000);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL przy aktualizacji zduplikowanych kluczy

  2. Wiązania C++ dla MySQL

  3. Błąd 1130 w mysql

  4. Nazwa tabeli MySQL jako parametr

  5. JavaScript Potwierdź przed usunięciem za pomocą PHP/MYSQL