Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Discussione: Problema con sessioni.

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    77

    Problema con sessioni.

    Ciao ragazzi.Da poco mi sono avvicinato al php e sto sviluppando il mio primo sito in php.
    Come prima cosa ho creato un sistema di log in e devi dire che la cosa mi è riuscita abbastanza bene. Ora ho creato la homepage del mio sito con un foglio di stile CSS e a destra ho sistemato l'area log in.
    adesso quello che voglio fare è: se l'utente che va in home page non è loggato compare la mascherina per il log in, mentre se è collegato compare un messaggio di benvenuto e non la mascherina del log in.
    Avevo pensato di fare cosi, quando si effettua il log in apro una sessione e creo una variabile di sessione 'loggedin':

    Codice PHP:
    if(mysql_num_rows($query)>0) {
    session_start();
        
        
    $_SESSION['username'] = $username;
        
    $_SESSION['logged'] = 1;
        } else {
        echo 
    "errore";
        } 
    quindi una volta aperta la sessione in aso di successo del log in creo un cilo if nella parte di codice dove c'è la mascherina:

    Codice PHP:
    <?php
                  
    if (!isset($_SESSION['logged'])) {
                  
    ?>
                (qui va il codice del form)
                
                <?php
                
    } else {
            
    ?>
                

    Bentornato <?php echo($username?>!</p>
                <p align="center">Logout</p>
                <?php
                
    }
                
    ?>
                </div>
    Quando faccio il log in funziona tutto normalmente, ma quando ricarico la pagina mi da di nuovo la mascherina del log in!
    ma se io ho gia fatto il log in non dovrebbe mantenermi la sessione e quindi mostrarmi il messaggio "bentornato" al posto della maschera?

    scusate se sono stato lungo ma ho bisogno di capire dove sbaglio ^_^

    grazie

  2. #2
    concettualmente funziona.

    al login imposti una varibile di sessione, al logout la elimini, nelle altre pagine se quella variabile di sessione esiste ed è diversa da "" allora stampi "benvenuto, ecc" altrimenti riproponi il form.
    http://www.trustweb.it - Web Development - Design 2D/3D - SEO & SEM

    Twitter http://twitter.com/#!/TrustWeb
    LinkedIn http://it.linkedin.com/in/trustweb

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    77
    e allora come mai non mi funziona?
    cos'è che potrebbe essere sbagliato?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    77
    qualche idea?
    potrebbe essere dovuto alla posizione dello script all'interno della pagina?o non c'etrna niente?

  5. #5
    Prova a spostare session_start() mettendolo all'inizio del tuo script.
    Per capirci:

    Codice PHP:
    <?php
    session_start
    ();

    /*
    qui metti tutto il resto del tuo codice.
    */

    ?>
    Così dovrebbe funzionare.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    posta tutto che vediamo
    http://www.trustweb.it - Web Development - Design 2D/3D - SEO & SEM

    Twitter http://twitter.com/#!/TrustWeb
    LinkedIn http://it.linkedin.com/in/trustweb

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    77
    intendi anche prima dei controlli sul form, ovvero prima di isset?
    quindi viene aperta sempre una ssessione ogni volta che si visita la pagina in questo modo?

  8. #8
    session_start deve esserci prima di ogni output
    http://www.trustweb.it - Web Development - Design 2D/3D - SEO & SEM

    Twitter http://twitter.com/#!/TrustWeb
    LinkedIn http://it.linkedin.com/in/trustweb

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    77
    grandissimo!
    grazie funziona adesso ^_^
    quindi il session_start() devo metterlo all'inizio di ogni pagina che volgio gestire con le sessioni?

    adesso per fare la pagina del logotu devo fare uno script che cancella tutte le variabili di sessione giusto?

    posso utilizzare la funzione unset?

  10. #10
    puoi fare calcoli, sulle variabili ecc, ma alla fine devi metterlo prima di ogni output

    per il resto, come hai detto tu
    http://www.trustweb.it - Web Development - Design 2D/3D - SEO & SEM

    Twitter http://twitter.com/#!/TrustWeb
    LinkedIn http://it.linkedin.com/in/trustweb

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.