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.
Lo que se mostrará en el navegador será:<!DOCTYPE html><html lang="es"><head><title>Envío de Datos Por Get y Post</title><meta charset="utf-8"/></head><body><hgroup><h1>Formulario Enviado por el Mé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é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>
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á:
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.<!DOCTYPE html><html lang="es"><head><title>Resultado del Formulario</title><meta charset="utf-8"/></head><body><?phpif(isset($_GET["enviarBtn"])){echo "Los datos los enviáste por el mé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áste por el método POST, los datos son:<br/><br/>El nombre es: ".$_POST["nombreTxt"]."<br/>El password es:".$_POST["passwordTxt"];}?></body></html>
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.
Donde las variables del interprete $_GET["..."], serán sustituidas por los valores correspondientes a los datos que insertamos en nuestro formulario.echo "Los datos los enviáste por el método GET, los datos son:<br/><br/>El nombre es: ".$_GET["nombreTxt"]."<br/>El password es:".$_GET["passwordTxt"];
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
Hasta la Próxima
Si te hemos ayudado : )
Te agradeceríamos que apoyaras este proyecto
0 comentarios:
Publicar un comentario