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

    Problema con le sessioni

    Ho un problema con le variabili di sessione.

    Dopo che effettuo il login faccio:

    session_start();
    $_SESSION['name'] = $user;
    echo "Login effettuato correttamente. Benvenuto " .$_SESSION['name']

    L'echo mi stampa correttamente la stringa per cui la SESSION['name'] è correttamente inserita. Quando però vado a fare degli if(isset($_SESSION['name'])) il risultato è sempre false anche dopo aver avviato la sessione. Come mai?

    Premetto che il save_path di sessione è impostato su /tmp. Ho provato a definirne altri ma mi dava sempre un errore di "permission denied (13)".

  2. #2
    session_start() lo metti in tutte le pagine dove verifichi che $_SESSION[name] è valorizzato???
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    No non basta metterlo solo una volta?

    In ogni caso le mie prove al momento sono tutte su una pagina

  4. #4
    Ho risolto, il session_start() andava messo a inizio codice.
    Per le altre pagine non c'è bisogno che il session_start() sia ripetuto giusto?

    Adesso ho solo il problema che appena cambio pagina e poi torno su quella "incriminata" la variabile di sessione sembra tornare nulla infatti il mio if(isset...) smette di essere true. La sessione non dovrebbe rimanere aperta fin quando non la si distrugge esplicitamente tramite codice o fin quando non si chiude la pagina del browser?

  5. #5
    session_start() va dichiarato in ogni pagina nella quale si intende accedere ad una variabile di sessione.

    Quando torni alla pagina iniziale, se $user non è valorizzato, ovviamente ti svalorizza anche la variabile di sessione. Dunque, ad esempio potresti fare (anche se nono so bene cosa c'é prima e dopo)

    Codice PHP:
    if(!isset($_SESSION['name'])
    {
        
    $_SESSION['name'] = $user;

    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  6. #6
    Ma scusa a questo punto si "svalorizza" il senso del login. Nel senso che la variabile deve essere riempita solo se l'utente si è già loggato, forse sono io che non ho ben chiaro allora il concetto di sessione...

  7. #7
    Penso di aver capito adesso. Ho messo il session_start() a inizio pagina e non solo nel blocco di codice del login correttamente effettuato. In questo modo la sessione resta attiva fino a chiusura browser e la variabile di sessione mantiene il nome dell'user connesso.

    Adesso mi chiedo solo, se la variabile di sessione viene riempita nella pagina login.php, nella pagina home.php se faccio un session_start() la variabile viene comunque riconosciuta con il valore assegnato in login giusto? (scusate è un po' contorto detto così).

    Grazie per le risposte

  8. #8
    Come ti dicevo io non so cosa c'è prima e cosa c'é dopo. Ad esempio dove lo prendi quel $user???
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  9. #9
    Originariamente inviato da Vincent22

    Adesso mi chiedo solo, se la variabile di sessione viene riempita nella pagina login.php, nella pagina home.php se faccio un session_start() la variabile viene comunque riconosciuta con il valore assegnato in login giusto? (scusate è un po' contorto detto così).

    Grazie per le risposte
    Beh, sì, é lo scopo di una sessione
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

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.