Métodos de recepción de datos: GET y POST

PHP es un lenguaje de scripting que trabaja del lado del servidor, es una gran herramienta para trabajar con datos que el usuario introduce en el front usando sus variables GET y POST.

GET y POST son dos medios para la petición de datos, a menudo enviados usando un formulario, que pasan del cliente al servidor, donde pueden ser tratados.

Un ejemplo sencillo de su uso, es el envío a través del action de un formulario HTML:

//Suponiendo un directorio compuesto por : index.html y servidor.php
//index.html:
<form method="POST" action="servidor.php">
//Aquí van los input
<input type="submit" name="submit" value="Enviar">
</form>

En este código, una vez se envían los datos, se busca el método del envío, es un POST, tras ello, el action define a donde deben mandarse los datos.

También es posible redirigir la acción al mismo documento, trabajando directamente sobre un index.php con php incrustado en scripts, para ello disponemos de varias opciones:

  • No definir el action: desde HTML5 la no definición del action redirige al propio archivo.
  • Utilizar el $_SERVER[«PHP_SELF»] : Era la opción más usada hasta HTML5, sin embargo presentaba problemas de seguridad. Una alternativa que ofrece protección ante inyección de código es htmlspecialchars($_SERVER)[«PHP_SELF»], de este modo, los caracteres especiales serán convertidos a entidades HTML.

Una vez hecho esto, tendremos un archivo PHP al que llegan unos datos a través de un método (POST en este caso), ahora podemos trabajar con ellos, si trabajamos sobre el mismo PHP que envía los datos debemos colocar el script de tratamiento de esos datos antes del código HTML:

  • En primer lugar, puede ser útil asegurarnos del método que el envío está utilizando, puede hacerse con un sencillo condicional ($_SERVER es un array que contiene información sobre cabeceras,rutas…etc):
if($_SERVER["REQUEST_METHOD"]==POST)
  • Normalmente, antes de trabajar con datos, debemos comprobar si disponemos de ellos, eso se puede hacer a través del método isset(variable):
if(isset($_POST['nombreInput'])){
//Si se ha recibido un input de nombre "nombreInput"
echo "Dato recibido!";
}

Tras esto, ya podemos comenzar a introducir los scripts que necesitemos (es recomendable el uso de un control condicional).

¿Te ha resultado útil?

Promedio de puntuación 5 / 5. Recuento de votos: 1