Cita:
Iniciado por popobcn
if(!isset($_SESSION["traspaso"])){
session_register("traspaso");
$_SESSION["traspaso"]="todos";
}else{
if(isset($_POST["variable"])){
$_SESSION["traspaso"]="algunos";
}
}
Muestra siempre algunos, o sea, que por más que desactive el checkbox y lo valide, mantiene el mismo valor la variable de session... ¿POR QUE?
Pues porque le estás diciendo que si no existe la session le ponga "todos", pero luego le dices que si existe, y han mandado el formulario (indiferentemente de lo que hayas hecho con el checkbox) le ponga "algunos". Por lo tanto es normal que siempre salga "algunos" ya que una vez la sesión existe y le mandas cualquier opción del formulario, le mete "algunos".
Tienes que ponerlo igual pero usando el $_POST de checkbox, y según si está activado o no, le pones "algunos" o "todos". Es decir, quedaría así:
Código PHP:
if(!isset($_SESSION["traspaso"])){
session_register("traspaso");
$_SESSION["traspaso"]="todos";
}else{
if(isset($_POST["variable"])){
if(isset($_POST["checkbox"])){ //o como se llame tu checkbox, la propiedad name="" del <input>
$_SESSION["traspaso"]="algunos";
}
else{ //Si no está marcado el checkbox
$_SESSION["traspaso"]="todos";
}
}
}
Salut