Foros del Web » Programando para Internet » PHP »

validando un checkbox

Estas en el tema de validando un checkbox en el foro de PHP en Foros del Web. Hola mi duda es la siguiente tengo un aplicacion que usa un checkbox, este checkbox lo tengo para que realize la siguiente funcion si el ...
  #1 (permalink)  
Antiguo 10/11/2011, 23:48
 
Fecha de Ingreso: diciembre-2010
Mensajes: 49
Antigüedad: 13 años, 4 meses
Puntos: 0
Busqueda validando un checkbox

Hola mi duda es la siguiente tengo un aplicacion que usa un checkbox, este checkbox lo tengo para que realize la siguiente funcion si el checkbox esta activado me guarda 1 en mi base de datos pero si no esta activado me tiene que guardar un cero.
se que tengo que generar un campo en la base de datos para ese checkbox el campo se llama presentación eso ya lo realice pero mi duda es la siguiente como hago que el checkbox funcione como yo lo quiero esta activado (tiene la palomita) me guarda un 1 si no esta activado (no tiene la palomita) me guarde un 0 en mi campo de la tabla, espero que si me supe explicar y que me puedan ayudar ya que me urge hacer esto gracias.
  #2 (permalink)  
Antiguo 11/11/2011, 01:29
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: validando un checkbox

El problema es que los checkbox solo mandan informacion si son marcados, por lo que si no lo marcan no se manda el valor.

en general los checkox se usan para guardar datos en bases relacionales N:N

o sea que el checkbox contendria por ejemplo caracteristicas de dato insertado

pongamo sun ejemplo

peliculas y genero

una pelicula puede ser de terror, pero tambien de fantasia y a lo mejor drama

y otra pelicula puede tener las mismas caracteristicas y otras más

asi vemos que en tu bd quedaria algo así

Código HTML:
nombre_peli|genero
peli1      |terror
peli1      |fantasia
peli1      |drama
peli2      |terror
peli2      |fantasia
peli2      |drama
y asi las guardas en la tabla relacional

generos_peliculas por ejemplo

de este modo si quieres saber todos los generos de pelicula2

Código MySQL:
Ver original
  1. SELECT * FROM genero WHERE nombre_peli = peli2

y te da el listado.

así es como suele funcionar, no se si sea algo parecido a lo que búscas.

si es asi, no necesitas guardar un cero para ver que no esta marcado el checkbox por que sería espacio inutilmente usado.
  #3 (permalink)  
Antiguo 12/11/2011, 18:18
Avatar de jokerwin  
Fecha de Ingreso: febrero-2010
Ubicación: Argentina
Mensajes: 31
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: validando un checkbox

Simple, le asignás el name al checkbox, lo colocas dentro del <form... dependiendo de si los pasás por $_POST o $_GET va a ser:

Código PHP:
Ver original
  1. if(isset($_POST['nombre del checkbox'])){
  2. $valor = 1;
  3. }
  4. else{
  5. valor = 0;
  6. }
Es decir, si el checkbox fue chequeado, $valor es 1, sino es 0...
  #4 (permalink)  
Antiguo 12/11/2011, 21:56
Avatar de javier_del_castillo  
Fecha de Ingreso: noviembre-2011
Mensajes: 4
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: validando un checkbox

Saludos... te ayudo con un ejemplo...
El formulario html tiene el siguiente código:
<head>
<title>Problema</title>
</head>
<body>
<form action="pagina2.php"
method="post">
Ingrese primer valor:
<input type="text" name="valor1">
<br>
Ingrese segundo valor:
<input type="text" name="valor2">
<br>
<input type="checkbox" name="check1">sumar
<br>
<input type="checkbox" name="check2">restar
<br>
<input type="submit" name="operar">
</form>
</body>
</html>

Ahora veamos el código de la página que procesa el formulario:
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
if (isset($_REQUEST['check1']))
{
$suma=$_REQUEST['valor1'] + $_REQUEST['valor2'];
echo "La suma es:".$suma."<br>";
}
if (isset($_REQUEST['check2']))
{
$resta=$_REQUEST['valor1'] - $_REQUEST['valor2'];
echo "La resta es:".$resta;
}
?>
</body>
</html>

Etiquetas: checkbox, tabla, validador
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 17:04.