Diferencias entre envio GET y POST

posted in: PHP | 0

Este es un tema bastante básico pero ya que han habido varias consultas al respecto me pareció interesante comentarlo y sobre todo explicar como aplicarlo, por cierto los conceptos usados aquí son iguales cuando se usa una web modular.

Método GET

Este método envia las variables dentro de la propia URL (dirección) de la página, concatenadas(unidas) por ampertands(&) quedando algo así:

1
http://www.mipagina.com/index.php?page=mia&variable2=valor2&variable3=valor3......

Hasta ahí muy interesante, seguro ya lo leiste mil veces pero ¿para qué sirve eso? pues lo bueno es que podemos enviarle variables a PHP desde links simples sin necesidad de usar formularios o podríamos guardar estas cadenas en un mapa del sitio y google indexaría nuestras busquedas, muy util tambien para crear esos botones de editar donde queremos que se envie el ID del objeto para editar, si fuera mySQL sería algo así.

1
echo '<a href="editar.php?id='.$row[miId].'">Editar</a>';

Método POST

Este método sólo se puede usar con formularios, y la información no se envía por la URL sino que es invisible al usuario (eso en teoría porque usando firebug podríamos ver que se envía en realidad).
¿Para qué sirve POST?
pues para enviar grandes campos de texto, subir imágenes, para no distorcionar nuestra URL amigable con un colección de variables.

¿Cómo las envío?
Pues así:

1
2
3
<form name="miformulario" action="mipagina.php" method="POST">
 <input type="text" size="20" name="mivariable1">
</form>

¿Cómo recibo las variables?

Pues depende si usamos GET o POST, quedaría algo así

1
2
echo $_GET['mivariable']:
echo $_POST['mivariable']:

Variables en una web modular

Es exactamente igual que si no fuera modular, tengamos presente que los valores GET y POST se comparten entre todos los archivos que fueron incluidos en la web modular ya que estos se unen como un todo, de tal forma que si envio esto:

1
2
3
<form name="miformulario" action="index.php?page=mipagina" method="POST">
 <input type="text" size="20" name="mivariable1">
</form>

Puedo invocar a la variable POST en cualquiera de los archivos que la componen, header, footer y por supuesto contenido

Leave a Reply


4 − two =