Seleccionar idioma:
Realizar Donación - Mods Premium - Portfolio



Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.
* $_GET $_POST y $_REQUEST
  Leído 8451 veces
* Viendo el foro
 0 Usuarios y 1 Visitante están viendo este foro.


*
Autor: ^HeRaCLeS^
Oct 05 2013
$_GET $_POST y $_REQUEST

Autor: ^HeRaCLeS^



En este quinto tutorial sobre el desarrollo para smf hablaremos un poco sobre:
$_GET
$_POST
$_REQUEST



Para empezar hablaremos de $_GET Y $_POST.
Es muy comun en los usuarios confundir estas dos variables y por ende darles un mal funcionamiento u utilizacion.
¿El porque de esta confucion? Pues porque con las dos obtienen el resultado, pero no se dan cuenta que lo hacen de la forma erronea.

Las dos formas se utilizan como metodo de paso de datos en formularios y esta es una de las causas de la confucion.
Yo tratare de explicar lo mejor posible sus diferencias y la correcta aplicacion de ambas.

GET:

Al utilizar el metodo GET la informacion puesta en el formulario es pasada al servidor a travez de la url.
Con lo cual toda la informacion queda visible ante el usuario.
Tambien puede ser guardada la url en marcadores con los datos enviados.

Otra  forma de pasar informacion al servidor mediante GET es directamente en un link.

Veamos un ejemplos:

Código: [Seleccionar]
<form method="get" action="get.php">
<input type="text" value="" name="nombre" />
<input type="submit" value="pasar datos" />
</form>

En este pequeño formulario el usuario tendria que completar con su nombre. Supongamos que puso de nombre "Enik"
Despues pasar los datos la url quedaria asi: la_web/get.php?nombre=Enik
Por lo tanto si nosotros escribieramos la url directamente cambiando "Enik" por otro nombre tambien funcionaria.


POST:

Al utilizar el metodo POST la informacion puesta en el formulario es pasada al servidor por debajo.
Con lo cual toda la informacion no queda visible ante el usuario.
Tampoco puede ser guardada la url en marcadores con los datos enviados.

Veamos un ejemplos:

Código: [Seleccionar]
<form method="post" action="post.php">
<input type="text" value="" name="nombre" />
<input type="submit" name="enviar" value="enviar datos" />
</form>

En este pequeño formulario el usuario tambien tendria que completar con su nombre, pero a diferencia del anterior, los datos no quedan en la url.
Por lo tanto nosotros no podriamos modificar la url para pasar otro tipo de datos, si o si tendriamos que usar nuevamente el formulario.



Diferencias:

GET
Tiene un limite de caracteres al pasar datos.
Los datos son visibles.
Solicita informacion.

POST
Se puede pasar grandes cantidades de datos.
Los datos no son visibles.
Envia informacion.



Recuperar Datos:

Tanto GET como POST tienen sus variables para recuperar los datos pasados por el formulario.

Para recuperar los datos pasados por el metodo GET usamos la variable $_GET.
Para recuperar los datos pasados por el metodo POST usamos la variable $_POST.

Usando el ejemplo anterior seria asi:

Código: [Seleccionar]
$_Get['nombre']

Código: [Seleccionar]
$_POST['nombre']

Esas variables nos estarian devolviendo el valor pasado en el formulario, en este caso el nombre.





REQUEST:

La variable $_REQUEST es un array asociativo el cual contiene todos los datos pasados por GET POST y COOKIE. (Este ultimo puede quedar afuera dependiendo de la configuracion de php)
¿Y para que usar $_REQUEST si podemos usar las variables $_GET $_POST Y $_COOKIE?
Muy simple, esta variable es muy util en formularios multi-metodos (Por asi decirlo).

Vamos a dar un simple ejemplo:

Código: [Seleccionar]
setcookie("mes", "octubre");
<form method="post" action="request.php?seccion=nombre">
<input type="text" value="" name="nombre" />
<input type="submit" name="enviar" value="enviar datos" />
</form>

Como veran en este pequeño formulario a pesar de solo tener que ingresar un dato, se estan pasando 3 datos en verdad.

Un dato por GET (En la url del formulario) que seria: seccion
Un dato por POST (El que completaria el usuario) que seria: nombre
Un dato por COOKIE (El que esta definido en setcookie) que seria: mes

Entonces para poder obtener todos los datos sin tener que usar las tres variables correspondientes utilizariamos solamente $_REQUEST.

Código: [Seleccionar]
$_REQUEST['seccion']
$_REQUEST['nombre']
$_REQUEST['mes']



Nos vemos en el proximo tutorial sobre desarrollo de smf.




« Última Modificación: Octubre 07, 2013, 06:03:13 pm por ^HeRaCLeS^ »



Estas a full Hera!!! muy bueno viejoo




Bien explicado, buen trabajo!




Otros temas de su interes

Variables globales ^HeRaCLeS^ Febrero 03, 2013, 06:02:36 pm
Base de datos (Consultas Anidadas) ^HeRaCLeS^ Agosto 03, 2016, 03:54:52 pm
$_GET $_POST y $_REQUEST ^HeRaCLeS^ Octubre 05, 2013, 02:39:55 pm
Base de datos (Consultas) ^HeRaCLeS^ Abril 24, 2014, 04:11:29 pm
Introduccion a las bases de datos ^HeRaCLeS^ Octubre 15, 2013, 01:38:56 pm
Variables superglobales ^HeRaCLeS^ Octubre 02, 2013, 07:57:30 pm



Usuario:
Contraseña:
Sesión: