Saltar al contenido

Formulario de registro PHP usando métodos GET, POST con ejemplo

¿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?

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.

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Í,

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

Tiene la siguiente sintaxis.

<?php
 $_POST['variable_name'];
?>

AQUÍ,

Modo PHP GET

Tiene la siguiente sintaxis.

<?php
$_GET['variable_name'];
?>

AQUÍ,

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