Ver Mensaje Individual
  #15 (permalink)  
Antiguo 27/11/2012, 10:36
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 9 meses
Puntos: 65
Respuesta: Problema enviando checkbox a la base de datos.

Hola acabo de hacer otra prueba y si me da valores vacíos.

No es que me de un error si no que cuando añado enfermedades y $_POST["foo"] para enviar los elegidos a la base de datos pues que no envía nada y tengo un lio que ya no se ni como separarlos para que se envíen correctamente.

No se si ahora me explico mejor, primero hago una prueba con dos campos normales y esta sentencia se cumple bien:

Código PHP:
Ver original
  1. if(isset($_POST["enviar-ch"]))
  2.     {
  3.         //Creo la conexión al servidor con usuario y contraseña:
  4.         $conexion=mysql_connect("localhost","root","vertrigo");
  5.         if(!$conexion)
  6.         {
  7.             //Si hay algún error en la conexión lo muestra
  8.             exit("Database Error: " .mysql_error());
  9.         }      
  10.         /*Selecciono la base de datos y le doy la variable para conectar al servidor, asi todas las consultas que se hagan ya
  11.         estarían conectadas.*/
  12.         mysql_select_db("alumnos_a",$conexion);
  13. //Preparo la consulta
  14.         $insertar=mysql_query("insert into alumnos(nombre,curso) values
  15.         ('$_POST[nombre]','$_POST[curso]')");  
  16. //Cierro la conexión
  17.         mysql_close($conexion);


Hasta ahi todo bien, pero si quiero añadir a todo esto la opción de los checkbox ¿como sería? he probado ya de varias maneras y nada... el formulario que uso es este:

Código PHP:
Ver original
  1. <form name="enfermedades" method="post" action="">
  2.         Nombre: <input type="text" name="nombre" /><br />
  3.         Curso: <input type="text" name="curso" /><br />    
  4.         <!--<input type="checkbox" name="foo[]" value="1" />
  5.         <input type="checkbox" name="foo[]" value="2" />
  6.         <input type="checkbox" name="foo[]" value="3" />
  7.         <input type="checkbox" name="foo[]" value="4" />
  8.         <input type="checkbox" name="foo[]" value="5" />
  9.         <input type="checkbox" name="foo[]" value="6" />-->
  10.         <?php
  11.         $enfermedades=array("Asma", "Epilepsia", "Esquizofrenia");
  12.         $cantidad=count($enfermedades);
  13.         for ($c=0; $c<$cantidad ; $c++) {
  14.             //Preparo tantos inputs como enfermedades tenga el array
  15.             echo '<input type="checkbox" name="foo[]" value="'.$enfermedades[$c].'" />'.$enfermedades[$c].'';
  16.         }      
  17.         ?>
  18.         <input type="submit" value="Enviar" name="enviar-ch" />
  19.     </form>

Y sigo intentando añadir la opción de enviar esos checks a la base de datos. Gracias de nuevo.