Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Pasar checkbox con valor boolean

Estas en el tema de Pasar checkbox con valor boolean en el foro de PHP en Foros del Web. Salud y saludos. Y felices días en la medida de lo posible. Hice una web, no comercial en el ámbito educativo interno del instituto, con ...
  #1 (permalink)  
Antiguo 24/12/2020, 13:05
 
Fecha de Ingreso: noviembre-2014
Ubicación: Madrid
Mensajes: 81
Antigüedad: 9 años, 5 meses
Puntos: 1
Pasar checkbox con valor boolean

Salud y saludos. Y felices días en la medida de lo posible.
Hice una web, no comercial en el ámbito educativo interno del instituto, con diferentes formularios para poder meter datos y consultarlos mediante PHP y mysql.
En ella había un checkbox diferenciando si el alumnado era de secundaria o de bachillerato.
En la base de datos declaré el campo de ese checkbox como boolean.
Funcionaba perfectamente, tanto en local como en remoto. De repente dejó de hacerlo. El checkbox daba siempre error.
Anduve indagando y parece ser que los checkbox no envían un valor boolean sino on/off.
Supongo que debería cambiar en la base de datos el tipo de ese campo, pero puede ser "mortal".
Lo que quiero hacer es que el checkbox envíe 0 ó 1 y así sería boolean. Supongo.
El código del checkbox html es este:
Código:
<input type="checkbox" name="ciclo" value="1" />
He observado que si activo el checkbox funciona perfectamente, pero si no lo activo no funciona, no devuelve ningún valor.
El código php:
Código:
<?php
if (isset($_POST['Envia'])) {
    if (isset($_POST['ciclo']) && $_POST['ciclo'] == '1')
        echo $_POST['ciclo'];
    else
       echo $_POST['ciclo'];
}
?>
Supongo que si no activo el checkbox, el valor que envía es vacío.
He tratado, entonces de asignarle valor 0 y con settype convertirlo a boolean. Pero no funciona.
Agradezco de antemano vuestra ayuda.
  #2 (permalink)  
Antiguo 26/12/2020, 02:07
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Pasar checkbox con valor boolean

Hola:

Sobre formularios escribí hace tiempo un artículo: El abc de los formularios... simplemente basta controlar que exista el nombre... el valor es útil en un array de checkboxes.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 02/01/2021, 12:11
 
Fecha de Ingreso: noviembre-2014
Ubicación: Madrid
Mensajes: 81
Antigüedad: 9 años, 5 meses
Puntos: 1
Respuesta: Pasar checkbox con valor boolean

Salud y saludos.
Como sospechaba si el checkbox no es activado el valor que envía es vacío.
El problema era que lo estaba gestionando mal.
Tuve que poner un condicional, una vez enviado el formulario, para controlarlo.
Código:
	if (is_null($ciclo)){
		$ciclo = '0';
	}
Por si a alguien le pasa lo mismo.

Etiquetas: boolean, checkbox, valor
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 07:34.