¿Qué es un formulario?
Cuando inicia sesión en un sitio web o en su bandeja de entrada, está interactuando con un formulario.
Los formularios se utilizan para recibir información del usuario y enviarlos al servidor web para su procesamiento.
El diagrama siguiente ilustra el proceso de manejo de formularios.
Una etiqueta HTML es un formulario que contiene elementos de la interfaz gráfica de usuario, como un cuadro de entrada, casillas de verificación de botones de opción, etc.
El formulario se define mediante el uso de etiquetas.
y los elementos de la GUI se definen utilizando elementos de formulario como entrada.
En este tutorial, aprenderá:
¿Cuándo y por qué usamos formularios?
- Los formularios son muy útiles al desarrollar aplicaciones dinámicas y flexibles que aceptan la entrada del usuario.
- Los formularios se pueden utilizar para editar datos existentes de la base de datos
Crea un formulario
Usaremos etiquetas HTML para crear un formulario. A continuación se muestra la lista mínima de cosas que necesita para crear un formulario.
- Abrir y cerrar etiquetas de formulario
- POST o GET tipo de envío de formulario
- URL de envío que procesará los datos enviados
- Campos de entrada como cuadros de entrada, campos de texto, botones, casillas de verificación, etc.
El siguiente código crea un formulario de registro simple
<html> <head> <title>Registration Form</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <h2>Registration Form</h2> <form action="registration_form.php" method="POST"> First name: <input type="text" name="firstname"> <br> Last name: <input type="text" name="lastname"> <input type="hidden" name="form_submitted" value="1" /> <input type="submit" value="Submit"> </form> </body> </html>
El siguiente formulario muestra una vista del código anterior en un navegador web.
AQUÍ,
- Ellos son
las etiquetas de formulario de apertura y cierre
- action = «register_form.php» method = «POST»> especifica la URL de destino y el tipo de envío.
- Nombre / Apellido: los cuadros de entrada son etiquetas
- Son etiquetas de cuadro de entrada
- es
la nueva etiqueta de línea - es un valor latente se utiliza para comprobar si el formulario se ha enviado o no
- es el botón que envía el formulario al servidor cuando se hace clic para su procesamiento
Envíe los detalles del formulario al servidor
El atributo de actividad del formulario especifica la URL de envío que procesa los datos. El atributo de método especifica el tipo de envío.
Método PHP POST
- Esta es una variable de matriz PHP superglobal que se utiliza para ingresar valores a través del método HTTP POST.
- Se puede acceder a la variable de edición desde cualquier script del programa; tiene alcance global.
- Este método es ideal cuando no desea mostrar los valores de publicación del formulario en la URL.
- Un buen ejemplo de cómo usar el método de correo es ingresar los detalles de inicio de sesión en el servidor.
Tiene la siguiente sintaxis.
<?php $_POST['variable_name']; ?>
AQUÍ,
- «$ _POST[…]»La suite PHP es
- El nombre de la variable de la URL es «‘nombre_variable'».
Modo PHP GET
- Esta es una variable de matriz PHP superglobal que se utiliza para ingresar valores a través del método HTTP GET.
- Se puede acceder a la variable de edición desde cualquier script del programa; tiene alcance global.
- Este método muestra los valores del formulario en la URL.
- Es muy adecuado para formularios de motores de búsqueda, ya que permite a los usuarios marcar los resultados.
Tiene la siguiente sintaxis.
<?php $_GET['variable_name']; ?>
AQUÍ,
- «$ _GET[…]»La suite PHP es
- El nombre de la variable de la URL es «‘nombre_variable'».
Métodos GET vs. POST
CORREO | OBTENER |
---|---|
Valores no visibles en URL | Los valores aparecen en la URL |
La longitud de los valores no está limitada ya que se ingresan a través de un cuerpo HTTP | La longitud de los valores suele estar limitada a 255 caracteres. Esto se debe a que los valores se muestran en la URL. Tenga en cuenta que el número máximo de caracteres depende del navegador. |
Tiene un rendimiento más bajo en comparación con el método Php_GET debido al tiempo dedicado a incrustar valores Php_POST en el cuerpo HTTP | Tiene un alto rendimiento en comparación con las tareas del método POST por la simple naturaleza de adjuntar los valores en la URL. |
Admite muchos tipos de datos diferentes como cadenas, numéricos, binarios, etc. | Solo admite tipos de datos de cadena porque los valores se muestran en la URL |
Los resultados no se pueden marcar | Los resultados se pueden marcar debido a la visibilidad de los valores en la URL |
El siguiente diagrama muestra la diferencia entre obtener y publicar
Detalles del formulario de registro de proceso
El formulario de registro envía los detalles especificados en la característica de actividad del formulario.
Cuando se envía un formulario, los valores se completan en la matriz superglobal $ _POST.
Usaremos la función isset de PHP para verificar si los valores del formulario están llenos de la cadena $ _POST y procesar los datos.
Modificaremos el formulario de registro para incluir el código PHP que procesa los datos. A continuación se muestra el código modificado
<html> <head> <title>Registration Form</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <?php if (isset($_POST['form_submitted'])): ?> //this code is executed when the form is submitted <h2>Thank You <?php echo $_POST['firstname']; ?> </h2> <p>You have been registered as <?php echo $_POST['firstname'] . ' ' . $_POST['lastname']; ?> </p> <p>Go <a href="https://www.guru99.com/registration_form.php">back</a> to the form</p> <?php else: ?> <h2>Registration Form</h2> <form action="registration_form.php" method="POST"> First name: <input type="text" name="firstname"> <br> Last name: <input type="text" name="lastname"> <input type="hidden" name="form_submitted" value="1" /> <input type="submit" value="Submit"> </form> <?php endif; ? > </body> </html>
AQUÍ,
Más ejemplos
Motor de búsqueda simple
Diseñaremos un motor de búsqueda simple que utiliza el método PHP_GET como formulario de envío de formularios.
Para simplificar, usaremos la instrucción If de PHP para determinar la salida.
Usaremos el mismo código HTML para el formulario de registro anterior y le haremos modificaciones.
<html> <head> <title>Simple Search Engine</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <?php if (isset($_GET['form_submitted'])): ?> <h2>Search Results For <?php echo $_GET['search_term']; ?> </h2> <?php if ($_GET['search_term'] == "GET"): ?> <p>The GET method displays its values in the URL</p> <?php else: ?> <p>Sorry, no matches found for your search term</p> <?php endif; ?> <p>Go <a href="https://www.guru99.com/search_engine.php">back</a> to the form</p> <?php else: ?> <h2>Simple Search Engine - Type in GET </h2> <form action="search_engine.php" method="GET"> Search Term: <input type="text" name="search_term"> <br> <input type="hidden" name="form_submitted" value="1" /> <input type="submit" value="Submit"> </form> <?php endif; ?> </body> </html>
Consulte la página anterior en un navegador web.
Se mostrará el siguiente formulario
Escriba OBTENER en mayúsculas y luego haga clic en el botón Enviar.
Se mostrará lo siguiente
El siguiente diagrama muestra la URL de los resultados anteriores.
Tenga en cuenta que la URL muestra el valor de search_term y form_submitted. Intente ingresar algo diferente de GET, luego haga clic en el botón Enviar y vea qué resultados obtiene.
Trabajar con casillas de verificación, botones de radio
Si el usuario no selecciona una casilla de verificación o un botón de radio, no se ingresa ningún valor, si el usuario selecciona una casilla de verificación o un botón de radio, se ingresa el valor único (1) o verdadero.
Modificaremos el código del formulario de registro e incluiremos un botón de verificación que permitirá al usuario aceptar los términos del servicio.
<html> <head> <title>Registration Form</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <?php if (isset($_POST['form_submitted'])): ?> <?php if (!isset($_POST['agree'])): ?> <p>You have not accepted our terms of service</p> <?php else: ?> <h2>Thank You <?php echo $_POST['firstname']; ?></h2> <p>You have been registered as <?php echo $_POST['firstname'] . ' ' . $_POST['lastname']; ?> </p> <p> Go <a href="https://www.guru99.com/registration_form2.php">back</a> to the form</p> <?php endif; ?> <?php else: ?> <h2>Registration Form</h2> <form action="registration_form2.php" method="POST"> First name: <input type="text" name="firstname"> <br> Last name: <input type="text" name="lastname"> <br> Agree to Terms of Service: <input type="checkbox" name="agree"> <br> <input type="hidden" name="form_submitted" value="1" /> <input type="submit" value="Submit"> </form> <?php endif; ?> </body> </html>
Ver formulario arriba en el navegador
Complete el nombre y apellido
Tenga en cuenta que no se ha seleccionado la casilla de verificación Aceptar los términos de servicio.
Haga clic en el botón enviar
Obtendrás los siguientes resultados
Haga clic de nuevo en el enlace del formulario y luego seleccione la casilla de verificación
Haga clic en el botón enviar
Obtendrás los siguientes resultados
Resumen
- Los formularios se utilizan para obtener datos de los usuarios.
- Los formularios se crean mediante etiquetas HTML
- Los formularios se pueden enviar al servidor para su procesamiento mediante el método POST o GET
- Los valores de formulario enviados a través del método POST se incluyen en el cuerpo HTTP.
- Los valores de formulario ingresados mediante el método GET se adjuntan y se muestran en la URL.