Aplicación Simple Greeter en PHP – 20 proyectos en PHP

Estoy comenzando una serie de tutoriales diseñados para que una persona pase de ser un novato en PHP a un desarrollador de PHP competente, incluso si esa persona tiene un conocimiento limitado de desarrollo web. Este es uno de los 20 proyectos que tendrá esta serie. Este proyecto es de nivel principiante. Estén atentos a los próximos proyectos porque incluirán cosas desafiantes y divertidas como un foro, un blog, una libreta de direcciones y mucho más. Regístrese en este canal si desea que se le notifique cuando se publique otro proyecto.

Estos son los aspectos de PHP que se tratan en esta publicación:

  • Envío de formularios utilizando superglobales GET y POST
  • Validación de formularios

A medida que avance en esta publicación, el código fuente de la aplicación Greeter se modificará para cubrir otros aspectos de PHP.

1. Aplicación Greeter – Versión 1

Esta versión recibe un nombre enviado a través de un formulario de entrada y luego muestra ese nombre junto con la cadena “Hola”. Por ejemplo, se muestra “Hola Awa” si el nombre enviado desde el formulario es Awa.

greeter_v1.php:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Greeter - 2/20 Projects in PHP</title>
</head>
<body>
  <?php 
    // if the button with name="greet" is clicked
    if (isset($_GET['greet'])) {
      echo "<h1>Hello " . $_GET['name'] . "</h1>";
    }
  ?>
  <form action="greeter_v1.php">
    <input type="text" name="name">
    <button type="submit" name="greet">Submit</button>
  </form>
</body>
</html>

Qué podemos aprender de esta versión de la aplicación de bienvenida:

  • El actuar atributo del formulario especifica el destino de los datos en el formulario después de que se envía el formulario. En este caso, es greeter_v1.php que es la misma página.
  • El método atributo especifica el tipo de solicitud que se realiza cuando se envía el formulario
  • Cuando el método El atributo no está especificado, el valor predeterminado es GET, como en este caso.
  • Cuando se envía el formulario, los valores se colocan en el $ _GET[] superglobal incorporado como una matriz con claves que son las nombre atributos de los campos del formulario y los valores que se ingresaron en el formulario.
  • Cuando el método utilizado para enviar el formulario es GET, los valores del formulario se envían a través de la URL del navegador y son visibles. Algo como esto:

Esta no es una buena práctica por dos razones principales:

  1. Si hubiera información confidencial en el formulario, como una contraseña, sería visible en la URL del navegador y, por lo tanto, sería un riesgo para la seguridad.
  2. Existe un límite para la longitud de una cadena que se puede pasar a través de la URL. No se pueden pasar cadenas muy largas mediante GET.

2. Aplicación Greeter – Versión 2

Esta versión de la aplicación Greeter básicamente realiza la misma función que la versión 1 pero con algunas características adicionales y optimización que examinaremos en un minuto:

greeter_v2.php:

<?php 
  // initialize $name and $error variables
  $name = "";
  $error = "";
  
  // if the button with name="greet" on the form is clicked
  if (isset($_POST['greet'])) {
  	$name = $_POST['name'];
  	if (empty($name)) {
  	  $error = "Please provide username";
  	}
  }
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Greeter - 2/20 Projects in PHP</title>
</head>
<body>
  <!-- display greeting if the $name is not empty -->
  <?php if (!empty($name)) { ?>
  	<h1> Hello <?php echo $name; ?> </h1>
  <?php } ?>

  <!-- display validation message if there is an error -->
  <?php if (!empty($error)) { ?>
    <p style="color: red;"><?php echo $error; ?></p>
  <?php } ?>
  
  <form method="post" action="greeting_v2.php">
  	<input type="text" name="name">
  	<button type="submit" name="greet">Submit</button>
  </form>
</body>
</html>

Qué aprender de la versión 2 de la aplicación Greeter:

  • En esta versión de la aplicación Greeter, estableciendo el atributo de método en correo permite que el navegador envíe una solicitud POST (en lugar de la solicitud GET de la versión 1) cuando se hace clic en el botón Enviar.
  • Cuando se envía el formulario, los valores se almacenan en el superglobal $ _POST[ ] variable en forma de matriz
  • El uso de una solicitud POST no muestra la información que se envía en la URL del navegador, lo cual es bueno.
  • El formulario también está siendo validado; si el formulario se envía sin un valor para el nombre, se muestra un mensaje de error (o más bien un mensaje de validación), indicándole al usuario que proporcione un nombre.
  • Se ha introducido un nuevo método llamado vacío () que comprueba si una variable tiene un valor devolviendo verdadero o falso

RESUMEN

En este mini-proyecto, hemos aprendido:

  • Cómo enviar un formulario utilizando los métodos GET y POST.
  • El uso de un método GET puede revelar información confidencial, como contraseñas.
  • Los datos enviados a través de un método GET están disponibles en $ _GET[] superglobal y es visible en la URL del navegador y tiene una limitación de tamaño.
  • Los datos publicados a través de un método POST se pueden encontrar en $ _POST[] superglobal
  • La validación del formulario se puede lograr a través de una variable de error con un alcance de toda la página que se muestra cada vez que se envía el formulario con un error.

Conclusión

Básicamente, la forma en que funciona la web es que las personas brindan información, la computadora procesa y recupera la salida para mostrarla. Dado que los formularios son una de las formas principales en las que se proporciona información, una buena comprensión de ellos es fundamental para aprender a desarrollar web.

Gracias por seguir este proyecto hasta el final. Si tiene alguna idea, no dude en dejarla en la sección de comentarios a continuación.

Deja un comentario