Foros del Web » Programando para Internet » PHP »

recibir checkbox con valor cero

Estas en el tema de recibir checkbox con valor cero en el foro de PHP en Foros del Web. tengo un formulario con una cantidad enorme de checkbox de la siguiente forma <input type="checkbox" name="zon1a[]" value="1"> ocupo zon1a[] para recuperar todos los datos, para ...
  #1 (permalink)  
Antiguo 15/05/2004, 17:22
 
Fecha de Ingreso: marzo-2004
Mensajes: 17
Antigüedad: 13 años, 9 meses
Puntos: 0
recibir checkbox con valor cero

tengo un formulario con una cantidad enorme de checkbox de la siguiente forma

<input type="checkbox" name="zon1a[]" value="1">

ocupo zon1a[] para recuperar todos los datos, para ello ocupo

if ($_POST["zon1a"]){
foreach ($_POST["zon1a"] as $dato)
{echo $dato;}
}

pero no recupero el valor de los chechkbox que no estan marcados, por ejemplo si no marco ninguno deberia tener todas la varieables con valor "0" pero no lo logro

que estoy haciendo mal?????

gracias
  #2 (permalink)  
Antiguo 16/05/2004, 08:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Así funciona los elementos de formulario checkbox .. Sólo pasan al script de proceso (el que apuntes en tu action del formulario) los que estén marcados ..

Pero, por la misma regla .. si sabes cuantos elementos tienes marcados .. el resto debes deducir que es "0" ...

Para "saber" si no marcastes ninguno .. cuenta los elementos que te llegan en $_POST["zon1a"] que es un array .. (count($_POST["zon1a"]) .. si es > 0 hay alguno seleccionado y sino .. es que no se seleccionó ninguno.

Si necesitas que X,Y,N checkbox esté seleccionado para hacer tal proceso .. puedes ver el indice del checkbox que usastes (en tu caso uno numérico e incremental automático) con:

Código PHP:
foreach ($_POST["zon1a"] as $indice=>$dato)
{echo 
$indice."=>".$dato."<br>";} 
(o directamente sobre el indice del array: $_POST['zona1a'][1] .. Puedes usar indices no "numéricos":

<input type="checkbox" name="zon1a['nose']" value="1">
<input type="checkbox" name="zon1a['blabla']" value="1">

Así que puedes ir montando tus IF() o resto de estructuras de control.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 16:48.