Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    107

    modificare database alla chiusura del browser o_O

    Salve a tutti! Avrei un piccolo quesito:
    nel database del mio sito web ho aggiunto una colonna "online" alla tabella utente. In pratica ogni tupla è un utente che ha questa cella "online" che può valere TRUE o FALSE.
    In pratica viene settata a TRUE quando l'utente fa il login e a FALSE quando fa il logout. Fin qui tutto ok! Ma quando viene chiuso il browser senza effettuare il logout, il valore nel database non viene modificato e mi rimane ancora impostato su TRUE!

    Come posso fare per settare questo valore a FALSE quando l'utente chiude il browser senza effettuare il logout? Avevo pensato a smanettare sul lifetime dei cookie però non ho mai usato i cookie e non saprei da dove iniziare. Premetto che all'interno del sito non utilizzo cookie, solo variabili di sessione.

    Grazie a tutti

    Giovanni
    Giovanni

  2. #2
    l'evento chiusura del browser non esiste su php che è lato server, lo puoi fare con javascript ma rimane comunque un metodo poco consistente, il modo migliore è considerare uscito un utente dopo un tot di minuti/secondi che non esegue operazioni

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    107
    perfetto, quindi devo utilizzare i cookies? Come si fa?
    Giovanni

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    107
    ho provato così:
    <body onBeforeUnload="disconnetti()">

    potrebbe anche andare bene! Però mi chiama la funzione disconnetti OGNI volta che accedo alla pagina!!! invece onClose non funziona!
    Giovanni

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Devi verificare se c'è una nuova pagina richiamata, e in caso affermativo, se fa parte del tuo sito oppure no.
    Se la pagina fa parte del tuo sito allora non devi fare nulla, negli altri due casi disconnetti. Il che comunque può non essere una cosa buona, perché se l'utente torna subito dopo si trova disconnesso e può essere fastidioso.
    Fossi in te seguirei il consiglio di bubu, ma se proprio vuoi fare di testa tua ti conviene chiedere consigli sul forum javascript

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    107
    ma io sono d'accordo ad usare una tecnica lato server piuttosto che lato client! Però non so come si fa! Uso i cookies?
    Giovanni

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da diablo85
    ma io sono d'accordo ad usare una tecnica lato server piuttosto che lato client!
    Allora non hai capito. Il problema E' lato client

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    107
    come lato client?
    "il modo migliore è considerare uscito un utente dopo un tot di minuti/secondi che non esegue operazioni"
    non si fa con i cookies? Ragazzi x favore spiegatemi bene xchè non capisco...
    Giovanni

  9. #9
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Hai ragione, ho risposto senza rileggere i post precedenti
    Il problema era lato client per come l'avevi posto inizialmente.

    Per fare come dice bubu effettivamente diventa lato server.
    Il come fare non è semplicissimo, probabilmente ci sono più modi per farlo e bisognerebbe vedere com'è organizzato il tuo codice. I cookie non c'entrano.
    Diciamo che dovresti mettere una verifica in ogni situazione (o almeno in alcune delle situazioni) in cui per qualsiasi motivo vai a verificare lo status dell'utente. Se c'è una sessione aperta, e sono passati più di tot minuti dall'ultima attività, allora la devi chiudere.

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    107
    mmmh... ok allora inizio a capirci qualcosa... però come faccio a fare una cosa del genere "dopo un tot di tempo"? Purtroppo con il lato-server devi per forza aspettarti un'azione di un utente, non puoi fare controlli così a caso in un determinato momento, vero?
    Giovanni

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.