Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    605

    Gestire il tempo della sessione

    Ciao a tutti,
    vorrei fare in modo che se un utente loggato lascia per un tot di tempo
    inutilizzata la postazione alla prossima richiesta che viene fatta ti rimanda al login.

    Ho visto una cosa simile anche su http://it.kelkoo.com qui anche se non sei loggato.. ma magari hai aperto un tot di tempo prima la pagina di ricerca e poi non l'hai più utilizzata alla prossima richiesta di rimanda alla pagina principale...

    Qualche idea?
    grazie

    buona giornata
    Giuseppe

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    se vuoi settare il tempo di durata della sessione basta agire con ini_set:

    codice:
    ini_set('session.gc_maxlifetime', '600'); // 10 minuti
    ciauz

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    605
    perfetto vorrei proprio questo... solo che questi 10 minuti (o 5 magari) devono iniziare ad essere calcolati dal momento in cui l'utente loggato...non fa più richieste.

    perchè se faccio un controllo solo questo:

    ini_set('session.gc_maxlifetime', '600'); // 10 minuti


    dopo dieci minuti lo mando al login.. ma magari l'utente è ancora attivo, ma solo un po lento... e non sarebbe carino.... ahaha

    ciao e grazie

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    è cosi che funziona la sessione.

    Sapere cosa c'è dietro ti può essere utile a capire.

    Ogni volta in cui scrivi in sessione la pagina php che l'ha scritta genera un nuovo file (per la sessione salvata su file, altrimenti su db) che ha un ora di creazione.
    I dieci minuti vengono calcolati sulla base della data di creazione del file.

    Quindi si può dire che il tempo di durata della sessione viene calcolato dall'ultima chiamata della pagina da parte dell'utente.

    Ciao

  5. #5
    Attenzione che il comando ini_set non è abilitato in tutti i server per ovvi motivi

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    605
    ciao scusa,
    vorrei quindiprovare con ini_set('session.gc_maxlifetime', '600');
    cosa devo abilitare sul php.ini o meglio qual'è l'informazione che devo vedere su phpinfo(); se posso usare sto comando?

    Saluti
    Giuseppe

  7. #7
    e se all'avvio della navigazione (o includendo sta cosa in un file di controllo) facessimo una cosa del tipo (ora dico una castronata eh):

    Codice PHP:
    <?php

    session_start
    ();
    $_SESSION["SESS_TIME_START"] = date("His");
    $adesso date("His");
    $tempotrascorso $adesso $_SESSION["SESS_TIME_START"];
    if (
    $tempotrascorso >= "al tuo tempo che scegli") {
      
    "Ao...tempo scaduto...ciao nini...";
    }

    ?>
    oppure ho detto na cavoleria...?

    chiaramente....ho solo buttato giu un'idea con un esempio di codice...niente prgettazione, ne controllo...solo per sapere se come idea puo' andare...

    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.