Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Gestione Utenti Online

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    150

    Gestione Utenti Online

    Salve a tutti, ho un altra questione annosa che mi sta facendo impazzire..

    ebbene, ho una tabella dove registro gli utenti, con relativo Id primary Key...

    tramite le variabili di sessione... ad esempio $_SESSION[nome] passato dal form di login, vorrei visualizzare la lista dei presenti online...

    ho letto da qualche parte che devo creare una tabella online che mi prenda la variabile di sessione del nome, un Id (per quella tabella) e la data in formato Datetime...

    In pratica dicevano di settare il tempo di expire di quella sessione, controllata nella tabella online, in modo da cancellare da Online chi non si muove per diciamo un oretta...

    è l'unico modo ? o si può impostare un modo diverso per settare il fatto che se qualcuno chiude con la X o con il tasto logout, la sessione svanisce e quindi viene scuotato il record relativo a quel $_SESSION[nome] ?

    Se la risposta è si, come diavolaccio posso fare ??

    Spero di essere stato chiaro...

  2. #2
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    bhe io ho fatto in un altro modo magari grezzo magari brutto ma funzia.....ho una tabelal con data ip e id (l'ip serve x utenti generici presenti ma n loggati)..la data viene aggiornata ogni volta che si visita una pagina e uno script controlla che dall'ultima visita x ogni utente n siano passati più di 3 minuti...in caso affermativo elimina l'utente loggato o no dalla tabella...

    x fnizonare funziona

  3. #3
    il modo giusto è quello da te descritto anche se un'oretta mi sembra troppo

    questo forum ad esempio valuta un utente on-line entro i 12 minuti

    ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    150
    nel caso volessi applicarmi in qualche modo alla soluzione da me proposta, che anche bubu77 sembra sottoscrivere, me la daresti una mano, non dico nello scrivere lo script, ma almeno a farmelo capire :P

    edit:

    Per fare una cosa del genere, devo gestire le due tabelle con le relazioni ?

  5. #5
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    se dici a me ti spiego quelo che ho fatto io xchè il metodo con funzione expire sebbene magari è una cavalata tipo expire nome sesione e tempo non l'ho mai usato anche se il funzionamento del tutto è identico....

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    150
    uhm... giusto per curiosità, tu come hai fatto con il metodo identico ?

    ovviamente non chiedo il codice, ma il ragionamento in linguaggio naturale (tipo algoritmo) per capire come hai sistemato la sessione dell'utente online...

  7. #7
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    utente loggato ->
    viene salvato id - ip - data
    utente non loggato ->
    viene salvato ip- data

    io ho un index che fa da contenitore quindi ogni pagina che si visita richiama il codice che c'è nell'index e che

    a)controlla quanti utenti loggati sono online e quanti visitatori
    b)controlla che x ogni data presente non siano passati più di 3 minuti ed in caso afferamtivo toglie il record dalla tabella
    c)aggiorna la data dell'utente corrente

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    150
    ecco, il problema mio è proprio tutta sta zona qui... il ragionamento che ho fatto io è questo in pratica...

    Controlla che un utente non sia già online, se lo è, continua tranquillo a mostrare il codice,
    altrimenti inserisce nella tabella online il nome della variabile di sessione dell'utente.

    il problema mio sorge quando io chiudo la pagina con la X.
    come faccio in quel caso a dire al php che la variabile della mia sessione deve essere svuotata ?

    se riesco a dire quello è fatta, perchè dicendo quello, riconosce che in quel momento deve eliminare dalla lista il record riferito all'ex variabile di sessione...

    invece, poi, per vedere la lista degli online, controllo la tabella online, e mostro tutti i record... dato che se riesco ad eliminare chi si slogga (ragionamento di poco sopra), il gioco è fatto, non dovrebbero esserci utenti che si vedono dentro anche se non ci sono...

  9. #9
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    piccolo particolare.....se tu sei a e io b e tu hai spento il pc da un'ora e io accedo il mio script fa :

    -controllo
    -eventuale update
    -mostra utenti

    quindi io quando accedo trovo il tuo id nella tabella ma viene eliminato prima che possa essere visualizzato......

  10. #10
    se chiudono con la x dopo un tot di tempo da te prefissato li cancelli

    oppure potresti fare aprire una popup che esegue delle funzioni e si richiude automaticamente, ma francamente la reputo una soluzione poco elegante e inutile.

    Non esiste la certezza che i dati siano giusti perché potrebbe avere js disabilitato e questo tipo di info non sono vitali da giustificare soluzioni più evolute, a mio parere la prima soluzione proposta basta e avanza

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.