PHP: eliminare una variabile di sessione

Recentemente mi è arrivata un’email di un tizio che non riusciva a rimuovere una variabile di sessione. In particolare, tale variabile rimaneva attiva nonostante la chiamata alla funzione unset(),effettuata nel modo seguente:

unset($_SESSION['variabile']);

Analizzando il codice, ho subito identificato il problema, ovvero la chiusura della sessione con un session_write_) prima ancora di svuotare la variabile incriminata.

Ergo, la soluzione consiste nel riaprire la sessione, svuotare la variabile e richiudere la sessione immediatamente:

session_start();

unset($_SESSION['variabile']);

session_write_);

See ya.

PHP: eliminare una variabile di sessioneultima modifica: 2011-02-23T16:21:09+01:00da nazarenolatella
Reposta per primo quest’articolo

3 pensieri su “PHP: eliminare una variabile di sessione

  1. Ciao, grazie per il post ma, … se in una var. di sessione es. $_SESSION[“cippa”] creao un array, cioè avrò una struttura tipo:
    $_SESSION[“cippa”][0] =”valore1″;
    $_SESSION[“cippa”][1] =”valore2″;

    Successivamente quando voglio cancellare tale var come devo fare?
    Basta fare “unset($_SESSION[‘variabile’]);”

    oppure devo prima cancellare elemento per elemento e poi la var. di sessione? Cioè fare tipo:

    while( isset($_SESSION[“mails”][$i]) ){
    unset($_SESSION[“mails”][$i]);
    $i++;
    }
    unset( $_SESSION[“mails”] );

    Un intrepido saluto!

  2. Scusa, come un pirla ho cambiato ogni volta il nome della var. di sessione è sicuramente desta ambiguità, considera che sia sempre la stessa, es:
    $_SESSION[“cippa”];

    Ciao
    J

I commenti sono chiusi.