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
Reposta per primo quest’articolo
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!
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
ti basta eliminare l’array, ergo:
unset($_SESSION[“cippa”]);
Ciao.