Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    far scadere la sessione, problemi...

    allora, io strutturo la pagina in questo modo

    Codice PHP:
    <?php

    session_start
    ();

    ini_set("session.gc_maxlifetime","1800");  // 30 Minuti

    $username $_SESSION['username'];
    $password $_SESSION['password'];

    //etc etc etccc

    ?>
    il problema è che non mi fa cadere la sessione.. cioè quando il browser rimane aperto la sessione dura all'infinito!.. che errore c'è?

    grassie!

  2. #2
    perche' ogni volta che esegui session_start() azzeri il time out di inattivita'.

    il tempo di durata per inattivita' della sessione devi metterlo prima di session_start()

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Originariamente inviato da piero.mac
    perche' ogni volta che esegui session_start() azzeri il time out di inattivita'.

    il tempo di durata per inattivita' della sessione devi metterlo prima di session_start()
    ahh grazie!.. cmq l'ho fatto, ma non scade la sessione lo stesso!.. mi lascia autenticato!!

  4. #4
    Fatti una variabile con la durata

    Codice PHP:
    session_start();

    if (!isset(
    $_SESSION['ora_login'])) $_SESSION['ora_login']=time();
      elseif(
    time()-$_SESSION['ora_login']>180$_SESSION=array(); 
    Fidatevi del dottor Auz!
    http://dottorauz.blogspot.com

  5. #5
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Originariamente inviato da ggimigli
    Fatti una variabile con la durata

    Codice PHP:
    session_start();

    if (!isset(
    $_SESSION['ora_login'])) $_SESSION['ora_login']=time();
      elseif(
    time()-$_SESSION['ora_login']>180$_SESSION=array(); 
    ciao, me la spieghi che non l'ho capita?

  6. #6
    Metti in sessione l'ora di quando è entrato (ovviamente lo fai solo la prima volta e questo lo dice il fatto che la chiave 'ora_login' non è in sessione).
    Se 'ora_login' è in sessione allora non è la prima volta che entra e quindi vedi quanti secondi sono passati, se sono più di 180 svuoti la sessione.
    Fidatevi del dottor Auz!
    http://dottorauz.blogspot.com

  7. #7
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Originariamente inviato da ggimigli
    Metti in sessione l'ora di quando è entrato (ovviamente lo fai solo la prima volta e questo lo dice il fatto che la chiave 'ora_login' non è in sessione).
    Se 'ora_login' è in sessione allora non è la prima volta che entra e quindi vedi quanti secondi sono passati, se sono più di 180 svuoti la sessione.
    sembra funzioni bene!! grazie dell'aiuto e della spiegazione!!

  8. #8
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    mi correggo.. questo sistema ti fa cadere la sessione anceh se navighi, non se sei inattivo.. VVoVe: come si fa a far si ceh se si è inattivi da un tot di tempo cada la sessione?

  9. #9
    Ancora più semplice

    Codice PHP:
    session_start(); 
    if(isset(
    $_SESSION['ora_login']) && time()-$_SESSION['ora_login']>180$_SESSION=array();
    $_SESSION['ora_login']=time(); 
    Fidatevi del dottor Auz!
    http://dottorauz.blogspot.com

  10. #10
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Originariamente inviato da ggimigli
    Ancora più semplice

    Codice PHP:
    session_start(); 
    if(isset(
    $_SESSION['ora_login']) && time()-$_SESSION['ora_login']>180$_SESSION=array();
    $_SESSION['ora_login']=time(); 
    grassie!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.