Este es un tema muy preguntado en internet y no vi ninguna respuesta muy coherente así que voy a intentar dar una explicación, desde mi punto de vista, cual es la diferencias entre $_REQUEST $_GET $_POST $_COOKIE
Para entender las principales diferencias creo que es mejor primero ver que es lo que hace cada una de estas variables reservadas.
$_POST (link):
Es una matriz asociativa de variables que fueron obtenidas por el método HTTP POST. Por lo general son enviadas por un formulario.
Ej:
El form tiene un input con id/name igual a Nombre, nosotros le ponemos el valor Pablo, luego hacemos print $_POST['nombre'], y obtendríamos Pablo
$_GET (link):
Es una matriz asociativa de variables que fueron obtenidas mediante parametros URL. Son enviadas en la url:
Ej:
Tenemos www.agevaled.com.ar?nombre=Pablo, ahí obtenemos si hacemos print $_GET['nombre'], obtendríamos Pablo.
$_COOKIE (link):
Es una matriz asociativa de variables que fueron obtenidas mediante HTTP Cookies.
Ej:
Se tiene que setear una variable cookies antes, por ejemplo setcookie(“nombre”, “Pablo”); despues si hacemos print $_COOKIE['nombre'], obtendríamos Pablo.
$_REQUEST (link):
Es una matriz asociativa de variables que contiene todo lo que contiene $_GET, $_POST y $_COOKIE.
Resumen:
Por lo tanto lo que podemos llegar a ver, es que, tanto $_GET, $_POST y $_COOKIE obtienen las variables de distintos métodos de envíos, por su parte $_REQUEST es una variable “superglobal” la cual encapsula todas las otras variables reservadas.
Espero que se haya entendido, cualquier consulta/duda pregunten!
Saludos!


jum, entiendo…yo pense q tanto POST, GET, COOKIE como REQUEST eran todas superglobales…
gracias por el aporte: “da un idea interesante”
Te consulto tegno una pagina pagina00, que redirecciona por get a pagina01, esta ultima (pagina01) no puedo visualizar los erroes del interprete, debo devolverlos de nuevo a pagina00, a para visualizar varibles, como puedo hacer esto!! debo colocar en pagina01 un form??.. ahy una forma.. habia visto algun tipo de instruccion ” $pepe = $_['pepe'] ” que la recojo en pagina00 con $_GET['$pepe']… podrias darme un apoyo gracias
También el $_REQUEST es más inseguro porque si hay algunas variables que no quieres publicar entonces igual podrőia aparecer con el $_GET es un superglobal hay que estar cuidado con ellos.
muy buena explicacion…
La explicación no me parece buena, el lenguaje usado es muy técnico y carece de ejemplos prácticos.