C'ho pensato, ma non sono riuscito a capire come fare (non me ne intendo tantissimo di PHP), quindi spiego qua:
Praticamente vorrei fare uno script che in automatico invia, in un frame apposito, un avviso di accesso da parte di un utente registrato e l'avviso di logout. Del tipo, faccio il login e nel campo viene aggiunta la frase "mmorg sta consultando il sito".. quando stacco, stesso procedimento "mmorg ha chiuso il sito", frase che rimane consultabile da chiunque acceda al sito e che si "cancella" dopo un tot di tempo che il dato è stato inserito nel db.
Umm, non dovrebbe essere difficile... Provo a spiegartelo...
Quando un utente si logga, crea in una tabella un record con su scritto tutti i dati che ti serve rendere publici in quel frame, quando esce lo elimina... Il problema sta se chiude direttamente il browser senza usare il logout... In questo caso dovresti utilizzare anche le sessioni... E fai in modo che in quel frame venga effettuata una query sulla tabella che segna chi entra e chi esce...
Questa potrebbe essere una soluzione al tuo problema
Senza usare le sessioni e logout vari.
Sulle pagine che vuoi vedere che visitatori ci sono metti uno script che registra il risultato della funzione time(), quando la differenza tra il time() attuale e quello registrato è più alto di un tot. consideri il visitatore non online, altrimenti lo consideri online.
Ho fatto due campi del db "dataingresso" e "datauscita".
Il primo viene compilato da una query al momento del login, il secondo nella pagina di logout...
Quindi ho fatto semplicemente una pagina che richiama i dati "ingresso/uscita" dal db e li dispone in ordine sia di ingresso che di uscita, con un "limit" di pochi valori, quindi so chi è stato l'ultimo a entrare e chi ultimo ad uscire (per dire)... ora però mi rimane solo un "problema"...
La query richiama i dati dataingresso e datauscita se "like '%'" però cosi facendo anche quelli con campo NULL (o vuoto) vengono inseriti (è da dire che è un problema solo iniziale, dato che si presenta solo fino a quando il numero di ingressi/uscite non raggiunge il numero di valori che si vuole visualizzare). Cosi facendo inizialmente, appena creato lo script, tra gli ultimi accessi/uscite compaiono anche quelli appena registrati, anche se magari non han fatto ancora nè login, nè tantomeno logout.
E' (e nel caso come) possibile richiamare tutti i campi solo se riempiti e quindi escludere quelli vuoti?
Grazie :)
EDIT: Mi è venuto ora il dubbio che con questa soluzione, dopo il cambio d'ora, consideri "ultimo entrato" uno che accede alle 23.59 piuttosto che uno che entra alle 00.01...
EDIT*2: Per la serie "se la canta e se la suona" ho trovato il rimedio, invece di far inserire l'orario nei campi ingresso/uscita ho fatto mettere anche la data, nell' ordine: anno, mese, giorno e solo dopo guarda l'ora... quindi dovrebbe sempre risultare come "ultimo" quello che davvero è entrato/uscito per ultimo...
Ultima modifica di mmorg : 18-03-2006 alle ore 20.57.41