Resumen: en este tutorial, aprenderá a usar PHP para procesar un formulario con una o más casillas de verificación.
Una introducción rápida al elemento de casilla de verificación
Una casilla de verificación le permite seleccionar un solo valor para el envío en un formulario. Para crear una casilla de verificación, utilice el elemento input
con el tipo checkbox
de la siguiente manera:
Code language: HTML, XML (xml)
Una casilla de verificación tiene dos estados: marcada y sin marcar.
Si marca la casilla de verificación y envía el formulario utilizando el método POST
, el array asociativo $_POST
contendrá un elemento cuya clave es checkbox_name
y el valor es checkbox_value
.
Code language: PHP (php)
Sin embargo, si desmarca la casilla de verificación y envía el formulario, $_POST
no tendrá ningún elemento con clave checkbox_name
. Significa que la siguiente expresión devuelve false
:
Code language: PHP (php)
Para comprobar si una casilla de verificación está marcada, también puede usar la función filter_has_var()
como esta:
Code language: JavaScript (javascript)
La función filter_has_var()
devuelve true
si el checkbox_name
existe en el INPUT_POST
.
Una casilla de verificación no tiene etiqueta. Por lo tanto, siempre debe usar una casilla de verificación con un elemento <label>
como este:
Code language: HTML, XML (xml)
En este ejemplo, el valor del atributo for
del elemento <label>
es el mismo que el valor del atributo id
de la casilla de verificación. Cuando asocie una etiqueta a una casilla de verificación, puede hacer clic en la etiqueta para marcar o desmarcar la casilla de verificación.
Otra forma de asociar una casilla de verificación con una etiqueta es colocar la casilla de verificación dentro de la etiqueta de esta manera:
Code language: HTML, XML (xml)
En este caso, no es necesario especificar el id
para la casilla de verificación y el atributo for
para la etiqueta.
Un ejemplo de casilla de verificación PHP simple
Crearemos un formulario simple con una casilla de verificación y un botón de envío.
Primero, cree la siguiente estructura de archivos y directorios:
Code language: plaintext (plaintext)
Archivo | Directorio | Descripción |
---|---|---|
índice.php | . | Contiene la lógica principal que obtiene la carga.php o post.php dependiendo del método de solicitud HTTP |
encabezado.php | inc | Contiene el código de cabecera |
pie de página.php | inc | Contiene el pie de página de código |
obtener.php | inc | Contiene el código para mostrar un formulario con una casilla de verificación cuando la solicitud HTTP es GET. |
post.php | inc | Contiene el código para manejar la solicitud POSTERIOR |
.htaccess | inc | Impedir el acceso directo a los archivos del directorio inc |
estilo.css | css | Contiene el código CSS |
índice.php
En segundo lugar, agregue el siguiente código al archivo index.php
:
Code language: PHP (php)
El index.php
carga el formulario desde el archivo get.php
si el método de solicitud HTTP es GET. Y carga el archivo post.php
si se envía el formulario.
La variable $errors
se utiliza para almacenar mensajes de error.encabezado
.php
En tercer lugar, coloque el siguiente código en el archivo header.php
:
Code language: HTML, XML (xml)
pie de página.php
Cuarto, el archivo footer.php
contiene las etiquetas de cierre correspondientes a las etiquetas de apertura del archivo header.php
:
Code language: HTML, XML (xml)
vete.php
Quinto, cree un formulario en el archivo get.php
:
Code language: PHP (php)
post.php
Sexto, agregue el siguiente código al archivo post.php
para desinfectar y validar los datos del formulario:
Code language: PHP (php)
Resumen
- Use
isset()
ofilter_has_var()
para comprobar si una casilla de verificación está marcada o no.