En este tutorial aprenderá cómo enviar información al servidor utilizando los métodos HTTP GET y

POST y recuperarlos utilizando PHP.

Métodos de envío de información al servidor

Un navegador web se comunica con el servidor normalmente utilizando uno de los dos métodos HTTP (Protocolo de transferencia de hipertexto): GET y POST. Ambos métodos pasan la información de manera diferente y tienen diferentes ventajas y desventajas, como se describe a continuación.

El método GET

En el método GET, los datos se envían como parámetros de URL que generalmente son cadenas de nombre y pares de valores separados por símbolos y (&). En general, una URL con datos GET se verá así:

http://www.example.com/action.php?name=john&age=24

Las partes en negrita en la URL son los parámetros GET y las partes en cursiva son el valor de esos parámetros. Se puede incrustar más de un parámetro = valor en la URL concatenando con signos y signos (&). Uno solo puede enviar datos de texto simples a través del método GET.
Ventajas y desventajas de usar el método GET

  •     Como los datos enviados por el método GET se muestran en la URL, es posible marcar la página con valores de cadena de consulta específicos.
  •     El método GET no es adecuado para pasar información sensible, como el nombre de usuario y la contraseña, porque estos son completamente visibles en la cadena de consulta de URL, así como potencialmente almacenados en la memoria del navegador del cliente como una página visitada.
  •     Como el método GET asigna datos a una variable de entorno del servidor, la longitud de la URL es limitada. Entonces, hay una limitación para que se envíen los datos totales.

PHP proporciona la variable superglobal $ _GET para acceder a toda la información enviada a través de la URL o enviada a través de un formulario HTML utilizando el método = "get".
Ejemplo

<! DOCTYPE html>
<html lang = "en">
<head>
<title> Ejemplo del método PHP GET </ title>
</ head>
<body>
<?php
if (isset ($ _ GET ["nombre"])) {
echo "<p> Hola". $ _GET ["nombre"]. "</ p>";
}
?>
<form method = "get" action = "<? php echo $ _SERVER [" PHP_SELF "];?>">
<label for = "inputName"> Nombre: </ label>
<input type = "text" name = "name" id = "inputName">
<input type = "submit" value = "Submit">
</ form>
</ body>


El método POST

En el método POST, los datos se envían al servidor como un paquete en una comunicación separada con el script de procesamiento. Los datos enviados a través del método POST no serán visibles en la URL.

Ventajas y desventajas de usar el método POST

  •     Es más seguro que GET porque la información ingresada por el usuario nunca es visible en la cadena de consulta de URL o en los registros del servidor.
  •     Hay un límite mucho mayor en la cantidad de datos que se pueden pasar y uno puede enviar datos de texto, así como datos binarios (cargando un archivo) usando POST.
  •     Dado que los datos enviados por el método POST no son visibles en la URL, por lo que no es posible marcar la página con una consulta específica.

Al igual que $ _GET, PHP proporciona otra variable superglobal $ _POST para acceder a toda la información enviada a través del método de publicación o enviada a través de un formulario HTML utilizando el método = "publicación".
Ejemplo

<! DOCTYPE html>
<html lang = "en">
<head>
<title> Ejemplo del método PHP POST </ title>
</ head>
<body>
<?php
if (isset ($ _ POST ["nombre"])) {
echo "<p> Hola". $ _POST ["nombre"]. "</ p>";
}
?>
<form method = "post" action = "<? php echo $ _SERVER [" PHP_SELF "];?>">
<label for = "inputName"> Nombre: </ label>
<input type = "text" name = "name" id = "inputName">
<input type = "submit" value = "Submit">
</ form>
</ body>


La variable $ _REQUEST

PHP proporciona otra variable superglobal $ _REQUEST que contiene los valores de las variables $ _GET y $ _POST, así como los valores de la variable superglobal $ _COOKIE.
Ejemplo


<! DOCTYPE html>
<html lang = "en">
<head>
<title> Ejemplo de la variable PHP $ _REQUEST </ title>
</ head>
<body>
<?php
if (isset ($ _ REQUEST ["nombre"])) {
echo "<p> Hola". $ _REQUEST ["nombre"]. "</ p>";
}
?>
<form method = "post" action = "<? php echo $ _SERVER [" PHP_SELF "];?>">
<label for = "inputName"> Nombre: </ label>
<input type = "text" name = "name" id = "inputName">
<input type = "submit" value = "Submit">
</ form>
</ body>

Aprenderá más sobre las cookies PHP y el manejo de formularios en la sección avanzada.


Nota: Las variables superglobales $ _GET, $ _POST y $ _REQUEST son variables integradas que están siempre disponibles en todos los ámbitos en un script.

<ANTERIOR                                      SIGUIENTE>