Ver Mensaje Individual
  #7 (permalink)  
Antiguo 28/07/2008, 03:35
Avatar de Kamae
Kamae
 
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años, 9 meses
Puntos: 13
Respuesta: Duda existencial con SESIONES

Cita:
Iniciado por popobcn Ver Mensaje
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