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

    $_SESSION e gestione dopo la chiusura

    Ciao a tutti,
    ho letto diversi libri e anche le guide qui di html, ma ho dei problemi con le sessioni.

    ho una pagina index.php dove si trova il seguente codice dentro un div
    Codice PHP:
    if(!isset($_SESSION['login'])) { 
                    
                    echo 
    "<a href=\"index.php?page=login\">Log in</a>";
                } else { 
                    
    $ds = new MySQLClass();
                    
    $ds->connetti();
                    
    $user_ID $_SESSION['login'];
                    
    $query_results $ds->query("SELECT `name` FROM `user` WHERE `user_ID` = '$user_ID';");
                    
    $ds->disconetti();
                    
                    
    $results $ds->estrai($query_results);
                    
                    
    $name $results->name;
                    
                    echo 
    "Welcome ".$name." - ";
                    echo 
    "<a href=\"index.php?page=logout\">Log out</a>";
                } 
                
    ?> 
    Inizialmente tutto ok, poi effettuo il login dalla pagina index.php?page=login e, se tutto va bene viene eseguito questo codice (il codice di prima e' caricato in ogni pagina, anche la seguente):
    Codice PHP:
    session_start();
    if(isset(
    $_SESSION['login'])) {
      
    header ("...."// se e' gia' loggato mando alla pagina specifica
    }
    if(
    "controllo che ci siano dei dati in POST, se si significa che ho appena compilato il form di login e lo ho spedito alla pagina stessa") {
      
    // tutti i controlli del caso
      // mi collego al db e tiro fuori l'id dell'utente
      
    $_SESSION['login'] = $userid;
      
    header ("mando alla pagina di specifica")

    Il problema e' che se chiudo il tab e non faccio il logout (dove chiamo session_destroy()), nella index ho sempre i dati del precedente login: infatti mi compaiono i dati del precedente login come il nome e non vorrei fosse cosi.

    ho provato a settare php.ini attraverso la funzione set_ini, non capisco davvero come muovermi.

    spero in un aiuto

    grazie
    webpage: http://www.buferli.com

  2. #2
    Non e' corretto dire che nella index hai sempre i dati del precedente login. Il session_start() recupera i dati relativi allo stesso session_id() e quindi dato lo stesso browser con sessione non scaduta vengono recuperati gli stessi dati se ancora nel tempo di validita' prevista.

    Se chiudi il browser facendo scadere la sessione lato client vedrai che i dati precedenti non verrannno piu' recuperati.

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

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.