users on line

Vorrei realizzare uno script che indicasse quali utenti "regstrati" sono in linea. Qualche idea o suggerimento sul da fare. PS.Il login dei miei utenti avviene con le sessioni.

 :bye:

inviato 10 anni fa
Nico Colonna
X 0 X

metti le sessioni su DB ed il gioco è fatto, ti basta fare una SELECT per contare il numero di record presenti nella tabella delle sessioni con il campo "logged" che vale 1.

 :bye:

P.S.: se vuoi maggiori dettagli basta chiedere.

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Ok per l'inserimento che faccio dopo che ho controllato i dati del login. Ma quando elimino i dati dal DB, se l'utente chiude brutalmente il browser senza effettuare il logout?

risposto 10 anni fa
Nico Colonna
X 0 X

Non puoi farci niente, non è possibile sapere a priori se l'utente se ne andato senza avvisare...

Puoi solo cancellare le righe della tabella più vecchie di 20 minuti in modo da non contare possibili utenti che hanno lasciato il sito.

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Mi sfugge il discorso...Ho la tabella utenti e gli aggiungo 2 campi:logged (booleano) e date. Se l'utente effettua il login modifico logged in 1 e date in now(), se l'utente è già loggato aggiorno la data. Se l'utente effettua il logout modifico il logged in 0.

Come faccio a modificare i dati se l'utente se ne va senza salutare?  Dovrei usare una funzione che mi azzera i logged più vecchi di 20 minuti di tutti gli utenti? Ho capito bene?

 :bye:

risposto 10 anni fa
Nico Colonna
X 0 X

Esatto!

penso che gianni faccia così:

Per sapere quanti utenti sono online fa una select sulla tabella utenti e restituisce solo i campi con logged a 1 e data inferiore di 20 minuti in quel momento.

 :bye:

risposto 10 anni fa
Marco Dario
X 0 X

in realtà prima della select cancello i record più vecchi di 20 min. in modo che la tabella non si riempie a dismisura.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

 :smitten: :bye:

risposto 10 anni fa
Nico Colonna
X 0 X

Gianni se inserisco gli user dentro la tabella user di mysql posso vedere quali utenti sono collegati in quel momento con una query select o no?

risposto 10 anni fa
Marco Dario
X 0 X

Non toccare la tabella USER di mysql !!!!

Se vuoi creane una ad hoc, che gestisci personalmente. Comunque in generale si usano 2 tabelle, una per tutti gli utenti registrati e una per gli utenti attualmente sul sito (sessioni).

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda