Più che il conteggio degli accessi, stai cercando di contare le presenze online, giusto ? Come si fa nei forum, per esempio ?
Di solito si stabilisce una finestra di "n" minuti e si cercano solo i login degli ultimi "n minuti", e questo si fa usando una tabella sul db…
Spiega meglio le tue intenzioni, spero di non avere capito "compilato" per "interpretato" [alias di "capre per cavoli", "lucciole per lanterne", "Roma per Toma", etc…]
Voglio contare le presenze online. Mi piaceva l’utilizzo di una variabile globale sopra le sessioni, e pensavo che leggere e scrivere globalState fosse una buona idea. Devo trovare il modo per decrementare la variabile, ad esempio alla chiusura della sessione, o altro.
Potresti mischiare i due approcci: setti in sessione la coppia user_id => last_time_stamp in un array “last_login”, per esempio, quindi controlli con un foreach($last_login as $user_id -> $last_time_stamp) se $last_time_stamp è entro 60*tot_minuti. E già che ci sei, potresti cancellare dall’array nella sessione quelle coppie che non servono più perchè troppo vecchie.
Scusa se non seguo il tuo approccio ‘onClose’, è solo perchè in questo momento non mi viene in mente come farlo. A meno che non fai via javascript la gestione dell’abbandono della pagina, ma è veramente sporca come soluzione …