Sei stato kiarissimo!
A parte gli scherzi, è un problema già trattato ampiamente: nel protocollo http non esiste la persistenza di stato, questo significa che non puoi scoprire quando un utente lascia una pagina, semplicemente perché per il server la connessione si interrompe nel momento in cui la pagina richiesta è stata inviata al client. Per ovviare a questo è possibile usare php in appoggio ad un db salvando i vari spostamenti dell'utente con il relativo timestamp dell'ultima operazione per poi considerare scaduti quegli utenti che non compiono operazioni da più di x minuti.
Per farti un'idea del funzionamento di questo meccanismo dai un'occhiata agli script per conteggiare gli utenti attualmente online, come useronline.

Rispondi quotando