Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Scadenza sessioni

  1. #1
    Utente di HTML.it L'avatar di flash20
    Registrato dal
    Dec 2003
    Messaggi
    567

    Scadenza sessioni

    Ciao a tutti,

    sto facendo il grande passo da ASP a PHP e mi sono imbatutto in un problema, premetto che prima di scrivere ho fatto un po' di ricerca sia sul forum che sul web in generale, ma trovo tante informazioni, ma nessuna funzionanate o adatta a quello che devo fare, cosa molto strana perchè dovrebbe essere una cosa in teoria semplicissima.

    Sono alle prese con la pagina di login, effettuo il controllo della user e password sul db e con la corrispondenza dei dati creo una variabile di sessione che mi permette di mantenermi loggato, vorrei che dopo un tempo predeterminato che la pagina è aperta vengano eliminate tutte le variabili di sessione e costringendo così l'utente ad un nuovo login.
    In ASP mi bastava mettere:

    codice:
    Session.Timeout=30
    e dopo 30 minuti ottenevo il risultato richiesto, non trovo un corrispondente in PHP, ho provato a fare un semplice script per testare la documentazione che ho trovato online, ma non funziona. Ad esempio con il codice seguente in teoria dopo 10 secondi la variabile di sessione utente dovrebbe essere distrutta (la variabile la creo da un'altra pagina e contiene il valore "ciao"), invece passati i 10 secondi se aggiorno la pagina ottengo sempre il valore "ciao" dalla sessione.

    Codice PHP:
    <?
    ini_set
    ('session.gc_maxlifetime''10');

    session_start() ;

    echo 
    $_SESSION['utente'];
    ?>

    Come posso fare? Mi servirebbe semplicemente avere l'equivalente in PHP di quello che usavo in ASP

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    guarda cache limiter e cache expire per cominciare...

    ...cmq per non "soffrire" di eventuali configurazioni una soluzione può essere quella di settare manualmente una variabile di sessione tipo $_SESSION['durata']: quando inizializzi la sessione, se già non è impostata la setti con il timestamp attuale, altrimenti verifichi il tempo trascorso... se è superiore al limite da te deciso, distruggi le variabili da far "scadere".

  3. #3
    Utente di HTML.it L'avatar di flash20
    Registrato dal
    Dec 2003
    Messaggi
    567
    Riesci mica a darmi qualche dritta su come fare questa operazione? Sono proprio ai rudimenti con PHP

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    se sei ai rudimenti ti consiglio la soluzione "manuale" che dicevo...

    In ogni script dove gestisci le sessioni...
    Codice PHP:
    include('sessioni.php'); 
    sessioni.php:
    Codice PHP:
    session_start();
    $timelimit 60// secondi
    $varstimelimit = array('user''...'); // lista variabili di sessione da far scadere
    if (!isset($_SESSION['timeout'])) {
      
    $_SESSION['timeout'] = time(); // inizializzazione
    } else {
      
    $timeelapsed = (time()-$_SESSION['timeout']);
      if (
    $timeelapsed>$timelimit) { ; // controllo
        
    unset($_SESSION['timeout']);
        foreach (
    $varstimelimit as $var) {
          unset(
    $_SESSION[$var]); // distruzione variabili scadute
        
    };
      };
    }; 

  5. #5
    Utente di HTML.it L'avatar di flash20
    Registrato dal
    Dec 2003
    Messaggi
    567
    E' perfetto grazie mille, mi hai dato una grande mano. Sto cercando di fare il grande passo da ASP a PHP, non sarà facile, ma spero di non metterci troppo tempo ad acquisire la stessa padronanza che ho ora con ASP.

    Grazie ancora

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Prego... tieni conto - in generale - che il PHP ha una mole di funzioni vastissima e molte operazioni si possono effettuare in maniera più "lineare" rispetto all'ASP (es.: upload dei files via form)

  7. #7
    Utente di HTML.it L'avatar di flash20
    Registrato dal
    Dec 2003
    Messaggi
    567
    Con il primo approccio per quello che ho dovuto fare vedo che alcune cose semplici da fare in asp sono un po' più articolate in php, forse dovute al fatto che php offre più possibilità (è una mia deduzione non ho ancora esperienza x trarne conclusioni).
    spero che questo passaggio mi agevoli in futuro

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.