Visualizzazione risultati 1 fino 5 di 5

Discussione: Problema con l'utilizzo delle sessioni

  1. #1
    gooo non è connesso Neofita
    Data registrazione
    13-07-2011
    Messaggi
    4

    Predefinito Problema con l'utilizzo delle sessioni

    Ciao a tutti,
    ho un problema a cui non riesco a trovare una soluzione
    in pratica utilizzo la variabile globale $_SESSION[]; per riconoscere l'utente una volta effettuato il login.
    Al momento dell'accesso funziona tutto! ma quando ad esempio cambio pagina con un header(location:) la sessione viene unsettata e quindi non è piu possibile la navigazione e l'accesso ai dati utente.
    facendo delle prove ho notato che il tutto funziona solo se eseguo due volte il login, uso gli stessi script sul locale e funziona tutto alla perfezione.
    Quindi chiedevo se il problema stava nella configurazione del file php.ini

    il sistema che utilizzo è questo
    Codice PHP:
    //login
    session_start();
    //se l'utente effettua l'accesso registro la sessione
    $user = $_POST['username'];
    $_SESSION['utente'] = $user;

    header(location:"user.php?id=idutente");

    /*fino a qui tutto bene, i problemi sorgono quando ad esempio voglio eliminare un messaggio ricevuto:
    */
    header(location:"deletemex.php?id=idmessaggio");

    /*a questo punto, sulla pagina che mi permette la cancellazione del messaggio con un istruzione mysql , la sessione viene misteriosamente "distrutta"; questo accade anche per: la risposta ad un messaggio, l'accettazione di una richiesta d'amicizia, la rimozione di un post scritto dall'utente. In pratica tutto ciò che viene reindirizzato ad un altra pagina.
    */
    //come logout uso la funzione unset($_SESSION)

  2. #2
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Controlla nelle pagine dove la sessione viene "misteriosamente distrutta" se:

    1- C'é il session_start();
    2- prima del session_start() c'é qualche output html (anche un solo spazio o un ritorno a capo può essere dannoso, anche prima di <?php).

    EDIT:

    Sostituisci il redirect:

    Codice PHP:
    header(location:"deletemex.php?id=idmessaggio");
    con:
    Codice PHP:
    header("location:deletemex.php?id=idmessaggio");
    Ciao!
    Ultima modifica di alemoppo : 26-06-2012 alle ore 15.09.05

  3. #3
    gooo non è connesso Neofita
    Data registrazione
    13-07-2011
    Messaggi
    4

    Predefinito prova

    ho provato a controllare!
    -apro subito il tag <?php e inserisco il session_start()
    -ho cambiato la sintassi di reindirizzamento
    -ho controllato la presenza del session_start su tutte le pagine
    ma il problema persiste!
    l'operazione viene svolta ma devo rieffettuare l'accesso...

  4. #4
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Prova a mettere in tutte le pagine:

    Codice PHP:
    error_reporting(E_ALL);
    Nella speranza di vedere qualche errore...

    Ciao!

  5. #5
    gooo non è connesso Neofita
    Data registrazione
    13-07-2011
    Messaggi
    4

    Predefinito Risolto

    Grazie mille! ho trovato gli errori: avevo settato male le sessioni nelle pagine di reindirizzamento, quindi a schermo non appariva niente ma le sessioni non facevano il loro dovere

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •