Cita:
Iniciado por alvlin
Las variables de sesión, cuando se usan correctamente, duran toda la sesión (es decir, hasta que las elimines, cierres la sesión, o se cierre el navegador en el comportamiento por defecto de php)
Creo que deberías mostrar el código que estás usando para que podamos ver si hay alguna cosa equivocada.
Saludos
Exacto, si dices que al añadir otra preferencia se borra la anterior... es normal.
Es como si intentas hacer
$var = 'hola';
echo $var;
$var = 'pepe';
echo $var; // Aqui pondrá pepe en lugar de hola, porque has cambiado el contenido de la variable.
Posiblemente quieras utilizar un array del tipo
$_SESSION['preferencias'][] = $preferencia;
y al final, cuando las tienes todas, haz un
var_dump($_SESSION['preferencias']);
ya verás como así las tienes todas...
También puedes hacer esto:
if(!isset($_SESSION['pref'])) $_SESSION['pref'] = '';
$_SESSION['pref'] .= ';;;;SEPARADOR;;;;'.$nuevapref;
y al final
$array_prefs = explode(';;;;SEPARADOR;;;;', $_SESSION['pref'];
unset($array_prefs[0]);
O algo similar