Salve,
io ho questo piccolo problema.
In una pagina costruisco il solito carrello della spesa, quindi con ajax mando il valore settato ad una pagina che lo mette in una variabile di sessione.
Fino a qui tutto parebbe funzionare, ma non è così.
Tentando di implementare un metodo per deselezionare il valore, in fondo il cliente può anhe ripensarci e non volere più la merce, mi sono accorto che la variabile di sessione era di nuovo vuota!
In remoto il sistema funziona così.
Se la variabile non è settata la setta con il giusto valore, se invece la variabile è già stata settata in una chiamata precedente ne fa l'unset.Codice PHP:
$valore = filter_input(INPUT_POST, 'valore', FILTER_SANITIZE_SPECIAL_CHARS);
if (!isset($_SESSION['email'][$valore])) {
$_SESSION['email'][$valore] = $valore;
$image = 'mail-mark-notjunk.png';
} else {
unset($_SESSION['email'][$valore]);
$image = 'mail-mark-important.png';
}
echo $image;
In ogni caso il valore è marcato visualmente sulla pagina chiamante con un'apposita immagine.
In pratica la prima volta che ci passo la variabile $_SESSION viene settata, la seconda volta dovrebbe quindi già esserlo, ma non è così e viene risettata. In altre parole la selezione (IF) avviene sempre per il primo caso, non capisco perché![]()