Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Registrazione dei logout

    Salve a tutti....
    Ho bisogno di monitorare all'interno del mio sito i login e i logot interfacciandomi dallo script php con la mia tabella in Mysql....adesso:
    il login viene registrato x tutti gli utenti che effettuano l'accesso al sito, il logout, a meno che nn venga effettuato esplicitamente, nn viene registrato (qnd ad esempio l'utente cambia sito oppure chiude il browser)
    come posso risolvere qst problema?

    ps.
    spero di aver reso l'idea....;-)


    Grazie anticipatamente...

  2. #2
    Avrei lo stesso problema anche io. Senti che idea ho avuto (abbastanza grezza, mentre attendo risposte).
    Ogni volta che l'utente cambia pagina del sito (apre il pannello di controllo del proprio account, preme uno dei bottoni del menu, carica un'altra pagina del sito .. etc .. etc ..), io faccio un update della tabella degli "attualmente loggati", aggiornando il campo TIME (che contiene la data corrente, comprensiva di ore & minuti).
    Ho settato inoltre un timeout di 5 minuti. Dopo 5 minuti di inattività rimuovo l'utente dalla tabella degli "attualmente loggati" (almeno si ha un margine minimo di errore, no?).

    E' solo un'idea, magari esistono soluzioni molto più semplici

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    propongo la mia...

    1) potreste mettere un alert alla chiusura della pagina, se l'utente fa per chiudere la pagina esce l'alert che dice... uscire con 'logout'

    2) utilizzare l'evento onUnload, che effettua un'azione quando la pagina viene, chiusa...

    sicuramente la prima soluzione è più semplice.

  4. #4
    Originariamente inviato da activ
    propongo la mia...

    1) potreste mettere un alert alla chiusura della pagina, se l'utente fa per chiudere la pagina esce l'alert che dice... uscire con 'logout'

    2) utilizzare l'evento onUnload, che effettua un'azione quando la pagina viene, chiusa...

    sicuramente la prima soluzione è più semplice.
    Oddio, la prima sarà sicuramente la più semplice, ma penso darebbe tanto fastidio a chi naviga (personalmente a me darebbe molto fastidio). La seconda invece è già più simpatica

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    bè dai un alert all'uscita non è fastidioso

    e poi come si suol dire, male estremi estremi rimedi

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    forse ti potrà aiutare questa

    http://it2.php.net/manual/it/functio...on-aborted.php

    non l'ho mai usata e non sò fino a che punto viene supportata dai vari server (a livello di configurazione intendo) ...
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    ma come la lanci questa?

    ci vuole comunque un evento js credo

  8. #8
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    beh, non bisogna mai dimenticarsi che prima che uno script venga processato viene caricato completamente in memoria , quindi in qualche modo questa funzione rimane in attesa ....

    ma è solo una supposizione la mia , non l'ho mai usata...

    però un commento alla funzione dice

    Although the documentation indicates it returns an int, I found comparing the return value with numeric values does not seem to work.

    Example (does not work):
    <?php
    if (connection_aborted()==1) {
    fwrite($filehandle, 'aborted!');
    }
    ?>

    You're better off just assuming it returns boolean

    Example (does work):
    <?php
    if (connection_aborted()) {
    fwrite($filehandle, 'aborted!');
    }
    ?>
    quindi

    Codice PHP:
    <?php
    if (connection_aborted()) {
    fwrite($filehandle'aborted!');
    }
    e sempre in una altro commento ho trovato questo

    Codice PHP:
    Very very useful!
    I was building a chat and I wanted my script to detect when the browser was closed, so the user could be deleted from the online_users table.

    <?
    echo str_repeat(" ",300);
    ignore_user_abort(true); //this way, the user can stop the output, but not the script.
    while (true) {
             echo 
    "test
    \n"
    ;
             
    flush();
             
    sleep(2);
             if (
    connection_status()!=0){
                     include (
    'dbconnect.inc');
                     
    $sql="delete from online_users where online_user=$user";
                     
    $sql_exec=pg_exec($vChatDB$sql);
                     die(); 
    //kills the script
             
    }
    }
    ?>
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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.