Foros del Web » Programando para Internet » PHP »

saber si checkbox esta activado

Estas en el tema de saber si checkbox esta activado en el foro de PHP en Foros del Web. Hola a todos, tengo un problemilla al saber si el checkbox esta activado: en una pagina tengo: Código HTML: <form action= "resul.php" method= "post" > ...
  #1 (permalink)  
Antiguo 04/12/2006, 05:21
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
saber si checkbox esta activado

Hola a todos, tengo un problemilla al saber si el checkbox esta activado:

en una pagina tengo:

Código HTML:
<form action="resul.php" method="post">
...
<input type="checkbox" name="mdbz01" id="mdbz01" onclick="SumaToTotal(this)"/>
...
</form> 
y en el resul.php:

Código PHP:
if($_POST["mdbz01"])
 {
   echo 
"yeah";
 } 
no se, siempre he hecho asi y no me funciona.

Este script lo tengo con apache2 php 4.4.4, he cambiado el php a 5.2.0 y lo mismo.

En casa con apache1 y php 5.2.0 funciona bien.

Hay alguna otra forma de saber si esta activado?

He probado con isset pero con eso siempre esta activo.

Eskerrik asko!!!
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #2 (permalink)  
Antiguo 04/12/2006, 05:36
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola ZiTAL

¿No te funciona esto...?
Código PHP:
if (isset($_POST['mdbz01']))
  echo 
"yeah"
Saludos,
  #3 (permalink)  
Antiguo 04/12/2006, 05:41
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
;)

eso me imprimiria "yeah" aunque no eligiera la casilla, creo que el problema puede ser de las tablas celdas y demas, haber si lo arreglo y luego os cuento ya que en un formulario sin tablas funciona bien.

Geroarte!!!
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #4 (permalink)  
Antiguo 04/12/2006, 05:58
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 19 años, 5 meses
Puntos: 2
Por que no pruebas con javascript asi accedes al objeto y preguntas si esta con check en on..
__________________
Saludos!
Mty-NL..
  #5 (permalink)  
Antiguo 04/12/2006, 06:03
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
en la pagina resul.php no existe el objeto, solo paso las variables, por ejemplo los input's tipo hidden si me los pasa, esta loko?!!!!!!!!!!!!!!
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #6 (permalink)  
Antiguo 04/12/2006, 06:24
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
;)

le cambie el nombre al checkbox y ahora funciona, le quite los numeros y le puse letras, no se que mosca le ha picado.

Pues listo
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #7 (permalink)  
Antiguo 04/12/2006, 06:29
Avatar de holahola  
Fecha de Ingreso: mayo-2005
Ubicación: Móstoles - (Madrid)
Mensajes: 214
Antigüedad: 19 años, 6 meses
Puntos: 1
Yo creo que aquí puedes ver como se tratan los checkbox:

http://es.tldp.org/Manuales-LuCAS/ma...ormularios.htm

Un saludo.
  #8 (permalink)  
Antiguo 04/12/2006, 06:38
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 19 años, 5 meses
Puntos: 2
Que raro, posiblemente cosas del cache del navegador o por que posiblemente omitiste la propiedad value de la etiqueta checkbox, ya que con que hicieras un isset te debio de funcionar debido a que php crea la variable dentro del arreglo POST si el campo correspondiente en la forma fue enviado, cosa que al menos en el Explorer y en el Mozilla no sucede si el checkbox no es seleccionado y para una prueba con proposito cultural, prueba el siguiente codigo:
prueba.htm
Código:
<form action="prueba.php" method="post" enctype="application/x-www-form-urlencoded" name="form1">
  <input name="t001" type="checkbox" id="t001" value="uno">
  <input name="t002" type="checkbox" id="t002" value="dos">
  <input name="t003" type="checkbox" id="t003" value="tres">
  <input type="submit" name="Submit" value="Submit">
</form>
Prueba.php
Código PHP:
print_r($_POST); echo "\n<br/>";
    
    if(isset(
$_POST['t1'])){
        echo 
"checkbox t1 seleccionado <br/>\n";
    }
    if(isset(
$_POST['t2'])){
        echo 
"checkbox t2 seleccionado <br/>\n";
    }
    if(isset(
$_POST['t3'])){
        echo 
"checkbox t3 seleccionado <br/>\n";
    } 
como puedes ver tambien use una convinacion alfanumerica para la eleccion de los nombres.
Como practica comun usa la funcion print_r para que puedas ver el contenido de los arreglos $_* en php.
__________________
Saludos!
Mty-NL..
  #9 (permalink)  
Antiguo 04/12/2006, 06:43
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
;)

al final el error fue que habia unos input hidden con el mismo nombre con el value="" y me jodia el script, es que las resacas ahora duran mas de 2 dias ;) ajajajajajaja

gracias a todos por molestaros.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #10 (permalink)  
Antiguo 04/12/2006, 06:46
Avatar de holahola  
Fecha de Ingreso: mayo-2005
Ubicación: Móstoles - (Madrid)
Mensajes: 214
Antigüedad: 19 años, 6 meses
Puntos: 1
En mi opinión, es correcto lo que indicas al principio de este hilo:

Código PHP:
if($_POST["mdbz01"])
 {
   echo 
"yeah";
 } 
isset es para ver si existe una variable (que lógicamente existe aunque el checkbox esté activado o desactivado).

Un saludo.

Última edición por holahola; 04/12/2006 a las 06:51
  #11 (permalink)  
Antiguo 04/12/2006, 07:00
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 19 años, 5 meses
Puntos: 2
Solo el arreglo POST no asi la posición dentro de el, por eso pedi que probaran el código, ya que si no esta seleccionado el checkbox el navegador no envía ese dato y cuando llega al escript a un que esta disponible la variable POST no asi la posicion $_POST['algo'], por eso pedi que probaran el ejemplo que puse.
Ya que si lo pruebas, sin seleccionar los checkbox la funcion print_r cuando muestre el contenido del arreglo POST veras algo como esto:
Código:
Array ( [Submit] => Submit )
Ojo con eso. Nuevamente prueben el ejemplo para que vean como manejan los navegadores estos campos..
__________________
Saludos!
Mty-NL..
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:14.