Guardar datos en base de datos usando checkbox
Publicado por carlos (33 intervenciones) el 03/04/2020 16:24:42
Hola amigos, se me presentó un problema al intentar guardar datos de varios checkbox en un campo de una tabla.
La tabla en cuestión la he llamado empleados y tienee3 campos:
id, clave primaria auto increment,
nombre, varchart 20;
estudios, enum 'ninguno','primarios','secundarios','terciarios','universitarios'.
Les comparto el código de ambas páginas y el error que me sale. Dicho error tiene que ver con el argumento de foreach.
He omitido algunas partes de los códigos, como ser datos de conección, etc.
pagina1.php
pagina2.php
Mensaje de error:
Warning: Invalid argument supplied for foreach()
Bueno, espero me puedan ayudar. Desde ya muchas gracias.
Saludos cordiales.
La tabla en cuestión la he llamado empleados y tienee3 campos:
id, clave primaria auto increment,
nombre, varchart 20;
estudios, enum 'ninguno','primarios','secundarios','terciarios','universitarios'.
Les comparto el código de ambas páginas y el error que me sale. Dicho error tiene que ver con el argumento de foreach.
He omitido algunas partes de los códigos, como ser datos de conección, etc.
pagina1.php
1
2
3
4
5
6
7
8
9
10
11
<form action="pagina2.php" method="post">
<label for="">Ingrese su nombre:</label>
<p><input type="text" name="nombre"></p>
<label for="">¿Qué estudios tiene?</label>
<p><input type="checkbox" name="check1" value="1">Ninguno</p>
<p><input type="checkbox" name="check1" value="2">Primarios</p>
<p><input type="checkbox" name="check1" value="3">Secundarios</p>
<p><input type="checkbox" name="check1" value="4">Terciarios</p>
<p><input type="checkbox" name="check1" value="5">Universitarios</p>
<p><input type="submit" value="Enviar"></p>
</form>
pagina2.php
1
2
3
4
5
6
7
8
9
10
11
12
$dato2 = $_REQUEST['nombre'];
$nombreSeguro = mysqli_real_escape_string($conexion,$dato2);
if (isset($_REQUEST['check1'])) {
foreach($_REQUEST['check1'] as $check1) {
$consulta = mysqli_query($conexion,"INSERT INTO empleados (nombre,estudios) VALUES('$nombreSeguro','$check1')");
}
}
$registros=mysqli_query($conexion,"select * from empleados") or
die("Problemas en el select:".mysqli_error($conexion));
while ($reg=mysqli_fetch_array($registros)) {
echo '<p>'."Nombre: ".$reg['nombre']." Estudios: ".$reg['estudios'].'</p>';
}
Warning: Invalid argument supplied for foreach()
Bueno, espero me puedan ayudar. Desde ya muchas gracias.
Saludos cordiales.
Valora esta pregunta


0