Voy a repasar los métodos PHP post y get para el envío y recepción de formularios web.
Quizás a muchos nos resulten obvios estos 2 métodos, pero conviene repasar y saber cuando usar uno u otro. En las últimas líneas explicaré que método usar según la necesidad.
Quizás os interese leer este otro post para enviar cadenas vía URL:
Comienzo con el metodo de envío post y su recepción con la variable de PHP $_POST. He preparado este ejemplo para ver su sintaxis y funcionamiento:
<form action="012-php-post.php" method="POST" name="formulario"> Introduce la edad: <input name="edad" type="number" /> Introduce la fecha de nacimiento <input name="fechanac" type="date" /> <input type="submit" value="Enviar" /> </form>
Tal y como veis el formulario consta de:
Esto sería un formulario básico de envío por POST, ahora nos falta el código PHP para recoger los datos del envío que se almacenan en la variable o array $_POST.
$_POST es un array que contiene el nombre de los diferentes campos del formulario con sus respectivos valores. Aquí el codigo:
if($_POST) echo "la edad recibida es: " .$_POST['edad']. " y la fecha de nacimiento recibida es " .$_POST['fechanac'];
Explico las líneas superiores:
Ahora toca ver la sintaxis del metodo de envío get y su recepción con la variable de PHP $_GET. He preparado este ejemplo para ver su funcionamiento:
<form action="012-php-post.php" method="GET" name="formulario"> Introduce la edad: <input name="edad" type="number" /> Introduce la fecha de nacimiento <input name="fechanac" type="date" /> <input type="submit" value="Enviar" /> </form>
El formulario es idéntico al anterior excepto el metódo de envío que es ‘GET’. Con el array $_GET accederemos al contenido enviado. Aquí el codigo:
if($_GET) echo "la edad recibida es: " .$_GET['edad']. " y la fecha de nacimiento recibida es " .$_GET['fechanac'];
Por lo tanto a nivel de código no hay grandes diferencias entre el método post y get. Pero si os fijáis en este último ejemplo los campos del formulario y sus valores están a la vista en la URL.
Por ejemplo en nuestro caso: https://www.anerbarrena.com/demos/2014/012-php-get.php?edad=34&fechanac=1979-04-16
Estas son las carácteristicas más importantes de estos 2 envíos.
Yo usaría el método get:
Y usaría el método post:
Quizás os valga de ejemplo este post ‘PHP foreach(): Bucles para recorrer arrays y objetos‘ para poder recorrer facílmente todos los elementos eviados a través de los métodos POST y GET.