Formulario de registro PHP utilizando métodos GET y POST con ejemplo

¿Qué es Forma?

Cuando inicia sesión en un sitio web o en su mail box, 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.

Formulario PHP

Un formulario es una etiqueta HTML que contiene elementos de la interfaz gráfica de usuario, como entradas boxverificar boxes botones de radio, etc.

El formulario se define utilizando las etiquetas … y los elementos de la GUI se definen utilizando elementos del formulario como la entrada.

¿Cuándo y por qué utilizamos formularios?

  • Los formularios resultan útiles a la hora de desarrollar aplicaciones flexibles y dinámicas que acepten aportaciones del usuario.
  • Los formularios se pueden utilizar para editar datos ya existentes de 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
  • URL de envío que procesará los datos enviados
  • Campos de entrada como entrada boxes, áreas de texto, botones, comprobarboxes 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>

Vierneswing el código anterior en un navegador web muestra lo siguientewing .

Crear un formulario

AQUÍ,

  • … son las etiquetas de apertura y cierre del formulario.
  • action=”registration_form.php” método=”POST”> especifica la URL de destino y el tipo de envío.
  • Nombre/Apellido: son etiquetas para la entrada boxes
  • son entradas box etiquetas
  • 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, cuando se hace clic, envía el formulario al servidor para su procesamiento.

Enviar los datos del formulario al servidor.

El atributo de acción del formulario especifica la URL de envío que procesa los datos. El atributo del método especifica el tipo de envío.

Método de publicación PHP

  • Esta es la variable de matriz súper global de PHP integrada que se utiliza para obtener 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 desea mostrar los valores de publicación del formulario en la URL.
  • Un buen ejemplo del uso del método de publicación es cuando se envía un formulario de inicio de sesión.tails al servidor.

tiene el siguientewing sintaxis.

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

AQUÍ,

  • “$_POST[…]” es el Matriz PHP
  • “’nombre_variable’” es el nombre de la variable URL.

Método PHP GET

  • Esta es la variable de matriz súper global PHP integrada que se utiliza para obtener 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 la URL.
  • Es ideal para formularios de motores de búsqueda, ya que permite a los usuarios marcar los resultados.

tiene el siguientewing sintaxis.

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

AQUÍ,

  • “$_GET[…]” es la matriz PHP
  • “’nombre_variable’” es el nombre de la variable URL.

Métodos GET vs POST

PUBLICAR
Valores no visibles en la URL Valores visibles en la URL
No tiene limitación de la longitud de los valores ya que se envían a través del cuerpo de HTTP. Tiene una limitación en la longitud de los valores, normalmente 255 caracteres. Esto se debe a que los valores se muestran en la URL. Tenga en cuenta que el límite superior de caracteres depende del navegador.
Tiene un rendimiento inferior en comparación con el método Php_GET debido al tiempo dedicado a encapsular los valores Php_POST en el cuerpo HTTP. Tiene un alto rendimiento en comparación con el método POST debido a la simple naturaleza de agregar 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 como libros 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.

Métodos GET vs POST

Métodos GET vs 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 completan en la matriz súper global $_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="/es/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 completado en la matriz $_POST[] y muestra un mensaje de agradecimiento y de nombre.

    Si el campo form_fobmitted no se ha completado en la matriz $_POST[], se muestra el formulario.

Más ejemplos

buscador sencillo

Diseñaremos un motor de búsqueda simple que utilice el método PHP_GET como tipo de envío de formulario.

En aras de la simplicidad, utilizaremos un PHP si declaración 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="/es/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>

Ver la página anterior en un navegador web

El following se mostrará el formulario

Motor de búsqueda sencillo

Escriba OBTENER en mayúscula y luego haga clic en el botón Enviar.

El following se mostrará

Motor de búsqueda sencillo

El siguiente diagrama muestra la URL de los resultados anteriores.

Motor de búsqueda sencillo

Tenga en cuenta que la URL muestra el valor de search_term y form_submitted. Intente ingresar algo diferente a GET, luego haga clic en el botón enviar y vea qué resultados obtendrá.

trabajando con cheque boxes, botones de opción

Si el usuario no selecciona un cheque box o botón de opción, no se envía ningún valor, si el usuario selecciona un cheque box o 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="/es/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 el formulario anterior en un navegador

Trabajar con cheque boxes, Botones de opción

Complete el nombre y apellido

Tenga en cuenta la verificación Aceptar los términos de serviciobox no ha sido seleccionada.

Haga clic en el botón enviar

Obtendrás el siguientewing dE TRATAMIENTOS

Trabajar con cheque boxes, Botones de opción

Haga clic en volver al enlace del formulario y luego seleccione el chequebox

Trabajar con cheque boxes, Botones de opción

Haga clic en el botón enviar

Obtendrás el siguientewing dE TRATAMIENTOS

Trabajar con cheque boxes, Botones de opción

Resumen

  • Los formularios se utilizan para obtener datos de los usuarios.
  • Los formularios se crean utilizando etiquetas HTML.
  • Los formularios se pueden enviar al servidor para su procesamiento mediante el método POST o GET.
  • Los valores del formulario enviados mediante el método POST se encapsulan en el cuerpo HTTP.
  • Los valores del formulario enviados mediante el método GET se adjuntan y se muestran en la URL.