Traductor

Métodos de Envió GET y POST

PHP nos perite enviar datos mediante formularios por dos métodos diferentes, se trata de GET y POST.
Anteriormente ya habíamos visto como enviar datos de un formulario a una página web, a continuación vamos a ver un código de html con un pequeño formulario y otro de PHP que va a recibir los datos que introduzcamos en el formulario.
Preste mucha atención ya que tanto el formulario con GET y el formulario con POST los veremos en uno mismo:
  • Nota: debido a que vamos a emplear mas contenido en algunos scripts, comenzare a codificarlo con los estándares de HTML5, para evitar que salgan caracteres extraños en el navegador, o algunos elementos no sean reconocidos.
<!DOCTYPE html>
<html lang="es">
<head>
                <title>Env&iacute;o de Datos Por Get y Post</title>
                <meta charset="utf-8"/>
</head>
<body>
                <hgroup><h1>Formulario Enviado por el M&eacute;todo GET</h1></hgroup>
                <form name="enviarPorGet" action="enviarDatos.php" method="get" enctype="application/x-www-form-urlencoded">
                               <label>Ingresa tu Nombre:</label>
                               <input type="text" name="nombreTxt"/>
                               <br/><br/>
                               <label>Ingresa tu Password:</label>
                               <input type="password" name="passwordTxt"/>
                               <br/><br/>
                               <input type="submit" name="enviarBtn" value="enviaGet"/>
                </form>
                               <br/><br/><br/><br/>
                               <hgroup><h1>Formulario Enviado por el M&eacute;todo POST</h1></hgroup>
                <form name="enviarPorPost" action="enviarDatos.php" method="post" enctype="application/x-www-form-urlencoded">
                               <label>Ingresa tu Nombre:</label>
                               <input type="text" name="nombreTxt"/>
                               <br/><br/>
                               <label>Ingresa tu Password:</label>
                               <input type="password" name="passwordTxt"/>
                               <br/><br/>
                               <input type="submit" name="enviarBtn" value="enviaPost"/>
                </form>
</body>
</html>
Lo que se mostrará en el navegador será:
Como puede ver, en este formulario veremos los dos métodos al mismo tiempo.
Por el otro lado, el código PHP que recibirá el contenido de estos formularios será:
<!DOCTYPE html>
<html lang="es">
<head>
                <title>Resultado del Formulario</title>
                <meta charset="utf-8"/>
</head>
                <body>
                               <?php
                                               if(isset($_GET["enviarBtn"])){
                                                               echo "Los datos los envi&aacute;ste por el m&eacute;todo GET, los datos son:<br/><br/>
                                                               El nombre es: ".$_GET["nombreTxt"]."<br/>El password es:".$_GET["passwordTxt"];

                                               }else if(isset($_POST["enviarBtn"])){
                                                               echo "Los datos los envi&aacute;ste por el m&eacute;todo POST, los datos son:<br/><br/>
                                                               El nombre es: ".$_POST["nombreTxt"]."<br/>El password es:".$_POST["passwordTxt"];
                                               }
                               ?>
                </body>
</html>
De este código debemos prestar atención al texto resaltado, en el cual encontramos la función isset(), la cual nos permite determinar si una variable está declarada o no.
De esta manera, al emplear un condicional, el script detecta a cual botón de enviar hace referencia el método de envió.
Cuando el usuario de enviar al botón de Envió correspondiente al método GET, este se detecta ya que dicho botón se encuentra dentro del formulario correspondiente a dicho método y por lo tanto para isset($_GET["enviarBtn"]), el valor será true y se ejecutará esta parte del script.
 echo "Los datos los envi&aacute;ste por el m&eacute;todo GET, los datos son:<br/><br/>
El nombre es: ".$_GET["nombreTxt"]."<br/>El password es:".$_GET["passwordTxt"];
Donde las variables del interprete $_GET["..."], serán sustituidas por los valores correspondientes a los datos que insertamos en nuestro formulario.
Fuera de esto, el análisis del código es similar al que habíamos hecho en el capítulo anterior.


Importancia

La principal diferencia en estos métodos se da en la manera de pasar los datos.
El método GET, envía los datos por la URL, mientras que el método POST los procesa en el interprete, por lo tanto no son visibles parra los usuarios. 
Veamos la barra de direcciones cuando enviamos los datos por el método GET:
Como puede notar, los datos de las variables se encuentran en la URL, y como nota primaria, es obvio que este método no es para nada utilizado al enviar información privilegiada.
Otra cosa que debe observar, es la ultima parte de la barra de direcciones, en ella también se procesa el nombre del botón, el cual le brinda la información a la función isset() para determinar de que formulario se trata, en conjunto con la variable del interprete $_GET .
En el caso del método POST, los datos se procesan en el interprete, y la barra de direcciones no contiene ningún dato:
Usualmente es mejor emplear el método POST, ademas de proporcionar una barra de dirección mas limpia, perite enviar archivos mas grandes, a diferencia del método GET.

Recuerden Comentar Compartir y Darle 

Hasta la Próxima

Si te hemos ayudado : )
Te agradeceríamos que apoyaras este proyecto

0 comentarios:

Publicar un comentario