Foros del Web » Programando para Internet » PHP »

CheckBox: No me funciona el IF para verificar el estado...

Estas en el tema de CheckBox: No me funciona el IF para verificar el estado... en el foro de PHP en Foros del Web. Amigos, Tengo un formulario "form.php" y un proceso "proceso.php". En "formulario.php": Código HTML: <form action= "proceso.php" method= "POST" > <input type= "checkbox" name= "subcategory[]" value= ...
  #1 (permalink)  
Antiguo 09/10/2005, 08:24
Usuario no validado
 
Fecha de Ingreso: mayo-2005
Ubicación: Benicàssim
Mensajes: 56
Antigüedad: 19 años, 6 meses
Puntos: 0
Pregunta CheckBox: No me funciona el IF para verificar el estado...

Amigos,
Tengo un formulario "form.php" y un proceso "proceso.php".

En "formulario.php":
Código HTML:
<form action="proceso.php" method="POST">
   <input type="checkbox" name="subcategory[]" value="1" <? if ( $_POST['subcategory'] == "1" ) { ?> checked <? } ?> >
   <input type="checkbox" name="subcategory[]" value="2" <? if ( $_POST['subcategory'] == "2" ) { ?> checked <? } ?> >
   <input type="checkbox" name="subcategory[]" value="3" <? if ( $_POST['subcategory'] == "3" ) { ?> checked <? } ?> >
   ....
   <input type="checkbox" name="subcategory[]" value=29 <? if ( $_POST['subcategory'] == "29" ) { ?> checked <? } ?> >
   ....
   <input type="submit" name="procesar" value="Procesar">
</form> 

En "proceso.php":
Código PHP:
<form action="formulario.php" method="POST">
    ...
    foreach($_POST['subcategory'] as $k => $v) {         
    echo "Clave $k: valor $v <br>"; ?>
    <input type=hidden name=subcategory[] value="<?=$v;?>" >
    <? }
    ...
    <
input type=submit name=editar value=Editar Formulario>
    ...
</
form>
Problema:
En "proceso.php", me lista todos los "checkbox" que seleccioné en "formulario.php".
Al presionar "Edit Formulario", regresa a "formulario.php" manteniéndome el resto de los campos con sus respectivos valores pero los "checkbox" me los deja todos en BLANCO (sin tildar).

Consulta:
¿Cuál de los DOS SCRIPT tengo mal?

Muchas gracias a todos.
LVWRZ.
  #2 (permalink)  
Antiguo 09/10/2005, 09:22
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 20 años, 4 meses
Puntos: 4
$_POST['subcategory'] es un array, deberia ser $_POST['subcategory'][0] == "1"
__________________
Internet Explorer SuckS
Download FireFox
  #3 (permalink)  
Antiguo 09/10/2005, 09:44
Usuario no validado
 
Fecha de Ingreso: mayo-2005
Ubicación: Benicàssim
Mensajes: 56
Antigüedad: 19 años, 6 meses
Puntos: 0
De acuerdo

Tenés Razón SiR.CARAJ0DIDA.

Los Solucioné de la siguiente manera:

En "Formulario.php":

Código PHP:
...
if( isset( $_POST['editar'])  ) { 

   ...
   foreach( $_POST['subcategory'] as $k => $v ) {
   $subcategory[$v] = $v ; }
   ...
   <input type=checkbox name=subcategory[] value=1 <? if ( $subcategory[1] == ) { ?> checked <? ?> >
   ...
}  // EndIf if( isset( $_POST['editar'])  )
Gracias !!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:43.