wenas, yo se que etos dos sirven para capturar datos de formularios en php, pero lo que aun no tengo bien claro es la forma correcta de usarlos, tanto de sintaxis como de su uso, cuando usarlos y cuando no, etc.
si es con ejemplos sencillos pero bien explicativos, pues mucho mejor.
yo he aprendido php a puro videotutorial y algunas cosas ya están un tanto defasadas.
gracias por la ayuda broders
ok mira para que entendas la diferencia entre una solicitud GET y una solicitud POST, vamos a remontarnos a los inicios del internet y del protocolo HTTP. (Que bonito suena)
Resulta que el protocolo HTTP, tiene varios métodos para que los usuarios puedan enviar datos al servidor, los mas comunes son los denominados GET, POST y PUT (este último utilizado para enviar archivos).
La diferencia primordial entre los mismos radica en la forma en que se utilizan.
Una solicitud GET, envía los parámetros de usuario a travez de la URL, de esta manera:
http://www.algunlugarl.com/miscript.php?parametro1=valor1¶metro2=valor2¶metro3=valor3
Esa solicitud envía al servidor tres parámetros:
parametro1=valor1
parametro2=valor2
parametro3=valor3
¿Ventajas? bueno, las solicitudes GET son sencillas, y no necesitan de un formulario, uno puede crear vínculos que envíen estos parámetros. PHP almacena los valores de cada uno de estos parámetros en la variable $_GET, así:
$_GET['parametro1'] := valor1
$_GET['parametro2'] := valor2
$_GET['parametro3'] := valor3
Como regla general se debe usar una solicitud GET, cuando los valores que envíamos no modifican los datos de nuestra aplicación, o cuando únicamente los utilizamos como marcadores, o como consultas. Una busqueda (que no modifica nuestros datos de aplicacion) es un buen ejemplo de cuando debemos usar GET:
http://www.algunlugar.com/miscript.php?buscar=palabraclave
¿Desventajas? Por lo general, todas las direcciones accesadas quedan guardadas en el historial. De tal manera, que utilizar el metodo GET para autenticar nuestros usuarios. P.E. ?usuario=mxgxw&password=iwonttellyou representaría un grave problema de seguridad y de privacidad de datos. Se debe de procurar no enviar datos sensibles mediante solicitudes GET.
Con el método POST, el navegador hace una conexión al servidor y se encarga de mandar los datos de manera separada, de esta forma los datos se mantienen hasta cierto punto privados, y tenemos la ventaja de que podemos envíar una mayor cantidad de datos en la solicitud.
Para enviar los datos mediante un metodo POST, debemos de poner el atributo method="POST" en nuestro formulario.
<form action="miscript.php" method="POST">
<input type="text" name="parametro1" value="valor1"><br />
<input type="text" name="parametro2" value="valor2"><br />
<input type="text" name="parametro2" value="valor2"><br />
<input type="submit">
</form>
En PHP los valores de esta solicitud se guardan en la variable $_POST
$_POST['parametro1'] := valor1
$_POST['parametro2'] := valor2
$_POST['parametro3'] := valor3
Usaremos un formulario con el método POST, cuando los valores que el usuario envían, modifican de alguna manera los valores de aplicación de nuestro programa. Por ejemplo, cuando se ingresan valores a nuestra base de datos, cuando un usuario se loguea al sistema, o cuando no querramos que los datos sean visibles por la dirección del navegador.
¿Ventajas? No hay un limite de atributos o tamaño que se puedan enviar, esto se limita mas que todo al tiempo de ejecución del script en el servidor y a las mismas conexiones del cliente.
¿Desventajas? Si una página responde a los valores de un POST, cada vez que querramos entrar a esa página debemos de enviar nuevamente los datos del POST, ya que estos no se "cachean" puede darnos inconvenientes al utilizar los botones de "atras" y "adelante" si no hemos considerado este comportamiento para nuestra aplicacion.
También puede resultar un problema cuando el usuario trata de guardar en bookmarks una página que ha sido el resultado de una solicitud con datos enviados mediante POST, ya que posiblemente estos datos no esten disponibles para cuando quiera accesarlos posteriormente.
En resumen, usaremos solicitudes GET cuando los parametros del usuario no modifican los datos de la aplicación, y usaremos POST cuando si lo hagan.
Espero con esto solventar tus dudas!!