Formulario de registro PHP utilizando métodos GET y POST con ejemplo
⚡ Resumen inteligente
El manejo de formularios en PHP captura la información ingresada por el usuario en formularios HTML y la procesa en el servidor mediante las variables superglobales $_POST y $_GET. Este tutorial crea un formulario de registro, explica los métodos POST y GET, los compara y muestra cómo procesar campos, casillas de verificación y datos de búsqueda.

¿Qué es Forma?
Cuando inicias sesión en un sitio web o en tu correo electrónico, estás interactuando con un formulario.
Los formularios se utilizan para obtener información del usuario y enviarla al servidor web para su procesamiento.
El siguiente diagrama ilustra el proceso de manejo de formularios.
Un formulario es una etiqueta HTML que contiene elementos de interfaz gráfica de usuario, como cuadros de entrada, casillas de verificación, botones de opción y más.
El formulario se define utilizando el … Las etiquetas y los elementos de la interfaz gráfica de usuario se definen mediante elementos de formulario como campos de entrada.
¿Cuándo y por qué utilizamos formularios?
- Los formularios resultan útiles cuando se desarrollanping Aplicaciones flexibles y dinámicas que aceptan la entrada del usuario.
- Los formularios pueden utilizarse para editar datos ya existentes en la base de datos.
Crear 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 …
- Tipo de envío de formulario POST o GET
- Sumisión URL que procesará los datos enviados
- Campos de entrada como cuadros de texto, áreas de texto, botones, casillas de verificación y similares.
El siguiente código crea un formulario de registro sencillo.
<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>
Al ver el código anterior en un navegador web se muestra el siguiente formulario.
AQUÍ,
- … son las etiquetas de apertura y cierre del formulario.
- La acción "registration_form.php" y el método "POST" especifican el destino. URL y el tipo de envío.
- Nombre/Apellido: son etiquetas para los cuadros de entrada
- son etiquetas de cuadro de entrada
- es la etiqueta de nueva línea
- es un valor oculto que se utiliza para comprobar si el formulario se ha enviado o no.
- Es el botón que, al pulsarlo, envía el formulario al servidor para su procesamiento.
Enviar los datos del formulario al servidor.
El atributo de acción del formulario especifica el envío URL que procesa los datos. El atributo método especifica el tipo de envío.
Método de publicación PHP
- Esta es la variable de matriz superglobal integrada de PHP que se utiliza para obtener los valores enviados a través del método HTTP POST.
- Se puede acceder a la variable de matriz desde cualquier script del programa; tiene un alcance global.
- Este método es ideal cuando no se desea mostrar los valores del formulario en el URL.
- Un buen ejemplo del uso del método POST es al enviar los datos de inicio de sesión al servidor.
Tiene la siguiente sintaxis.
<?php
$_POST['variable_name'];
?>
AQUÍ,
- “$_POST[…]” es el Matriz PHP
- “'variable_name'” es el nombre del campo del formulario.
Método PHP GET
- Esta es la variable de matriz superglobal integrada de PHP que se utiliza para obtener los valores enviados a través del método HTTP GET.
- Se puede acceder a la variable de matriz desde cualquier script del programa; tiene un alcance global.
- Este método muestra los valores del formulario en el URL.
- Es ideal para formularios de motores de búsqueda, ya que permite a los usuarios guardar los resultados como favoritos.
Tiene la siguiente sintaxis.
<?php
$_GET['variable_name'];
?>
AQUÍ,
- “$_GET[…]” es la matriz PHP
- “'variable_name'” es el URL nombre de la variable.
Métodos GET vs POST
| PUBLICAR | |
|---|---|
| Valores no visibles en el URL | Valores visibles en el URL |
| No tiene limitación en la longitud de los valores ya que se envían a través del cuerpo de la solicitud HTTP. | Tiene una limitación en la longitud de los valores, normalmente 255 caracteres. Esto se debe a que los valores se muestran en el URLTenga en cuenta que el límite superior de caracteres depende del navegador. |
| Tiene un rendimiento inferior en comparación con el método GET debido al tiempo empleado en encapsular los valores POST en el cuerpo HTTP. | Tiene un rendimiento superior en comparación con el método POST debido a la naturaleza simple de agregar los valores en el URL. |
| Admite muchos tipos de datos diferentes, como cadenas de texto, números, datos binarios y más. | Solo admite tipos de datos de cadena porque los valores se muestran en el URL |
| Los resultados no se pueden guardar como favoritos. | Los resultados se pueden marcar como favoritos debido a la visibilidad de los valores en el URL |
El siguiente diagrama muestra la diferencia entre GET y POST.
Tratamiento de los datos del formulario de inscripción
El formulario de registro se envía datos a sí mismo según lo especificado en el atributo de acción del formulario.
Cuando se envía un formulario, los valores se almacenan en el array superglobal $_POST.
Usaremos la función isset de PHP para verificar si los valores del formulario se han completado en la matriz $_POST y procesaremos 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="/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Í,
- Comprueba si el campo oculto `form_submitted` se ha rellenado en el array `$_POST[]` y muestra un mensaje de agradecimiento y el nombre. Si el campo `form_submitted` no se ha rellenado en el array `$_POST[]`, se muestra el formulario.
Más ejemplos
buscador sencillo
Diseñaremos un motor de búsqueda sencillo que utilice el método GET de PHP como tipo de envío de formulario.
En aras de la simplicidad, utilizaremos un Sentencia if de PHP para determinar la salida.
Usaremos el mismo código HTML para el formulario de registro anterior y le haremos modificaciones mínimas.
<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="/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>
Visualice la página anterior en un navegador web.
Se mostrará el siguiente formulario.
Escriba GET en mayúsculas y, a continuación, haga clic en el botón de enviar.
A continuación se mostrará lo siguiente.
El diagrama a continuación muestra el URL para los resultados anteriores.
Nota la URL ha mostrado el valor de search_term y form_submitted. Intenta introducir algo distinto de GET, luego haz clic en el botón de enviar y observa qué resultados obtienes.
Trabajar con casillas de verificación y botones de opción
Si el usuario no selecciona una casilla de verificación ni un botón de opción, no se envía ningún valor. Si el usuario selecciona una casilla de verificación o un botón de opción, se envía el valor uno (1) o verdadero.
Modificaremos el código del formulario de registro e incluiremos un botón de verificación que permita al usuario aceptar los términos de 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="/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>
Visualice el formulario anterior en un navegador.
Rellena el nombre y el apellido.
Tenga en cuenta que la casilla de verificación Aceptar los términos del servicio no ha sido seleccionada.
Haga clic en el botón enviar.
Obtendrás los siguientes resultados.
Haz clic en el enlace "Volver al formulario" y, a continuación, selecciona la casilla de verificación.
Haga clic en el botón enviar.
Obtendrás los siguientes resultados.










