Foros del Web » Programando para Internet » PHP »

diferencia entre $_REQUEST y post y get

Estas en el tema de diferencia entre $_REQUEST y post y get en el foro de PHP en Foros del Web. saludos a todos. Hola quisiera saber que diferencia hay entre estos metodos, de get, post y request. Gracias...
  #1 (permalink)  
Antiguo 02/03/2009, 10:31
 
Fecha de Ingreso: septiembre-2008
Ubicación: Cuernavaca,Morelos,Mexico
Mensajes: 80
Antigüedad: 15 años, 7 meses
Puntos: 0
diferencia entre $_REQUEST y post y get

saludos a todos.
Hola quisiera saber que diferencia hay entre estos metodos, de get, post y request.
Gracias
  #2 (permalink)  
Antiguo 02/03/2009, 10:41
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: diferencia entre $_REQUEST y post y get

Holas tomasy

La diferencia que yo conozco es que:

Por método post los valores son enviados de manera oculta para el navegante, y llegan al arreglo global $_POST.
Por método get los valores son enviados a la vista del navegante, por la URL del script, y llegan al arreglo global $_GET.
Por el método request (el cual nunca he usado, aunque visto usar) la verdad no sé cómo "se envía" con ese método, pero sí sé que el arreglo global $_REQUEST recibe tanto lo que llega por POST como por GET (y no sé de qué otros métodos más...).

Como sea, será bueno que revises la documentación en el sitio oficial ^^ http://www.php.net
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #3 (permalink)  
Antiguo 02/03/2009, 10:41
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: diferencia entre $_REQUEST y post y get

Breve jeje

POST: recoge los datos que vienen por el método post de html

GET: recoge los datos que vienen por el método get de html

REQUEST: une los dos métodos anteriores, osea, recoge lo que viene por POST y GET a la vez (no es recomendable usarlo).

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #4 (permalink)  
Antiguo 02/03/2009, 11:46
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: diferencia entre $_REQUEST y post y get

Uniendo los dos posts anteriores POST y GET se parecen en que ambos son tipos de request http. REQUEST no lo es. $_POST, $_GET y $_REQUEST son matrices relacionadas con el tipo de request.

POST consiste en datos "ocultos" (porque el cliente no los ve) enviados generalmente por un formulario cuyo method es post. Decir que el método no es de html, sino es el tipo de request http que se hace a X script. La ventaja de usar POSt es que estos datos necesitan un medio para poder ser enviados (no basta con escribir la url del script). Es ideal para formularios. Para recoger estos datos se usa el array superglobal $_POST.

GET es un tipo de request que lleva los datos de forma "visible" al cliente. El medio de envio es la URL. GET es el tipo de request predeterminado. Al escribir una url en la barra de direcciones y pulsar enter, el request hacia esa url es de tipo GET. Para recoger los datos que llegan en la url se usa $_GET.

REQUEST no es un tipo de request. $_REQUEST es una matriz superglobal que resulta de la unión de $_GET, $_POST y $_COOKIE (OJO, de los arreglos, no de los métodos). $_REQUEST siempre estará disponible (cualquiera sea el tipo de request http). Si te das cuenta, las tres matrices que contiene engloba $_REQUEST contienen datos de entrada (datos que se envian del cliente al servidor. Otras matrices como $_SERVER o $_ENV contienen datos que están en el servidor {salida}). De ahí su nombre. En síntesis $_REQUEST son los datos disponibles en el script luego de la petición (request) http.

Algunos puntos importantes son que:
  • $_GET no es exclusiva de un request http tipo GET. Si yo llamo a script.php?foo=var usando un request POST, entonces tendré podré accesar a los datos enviados por post usando $_POST, pero tambiénm podré usar $_GET para extraer la variable de url foo.
  • $_POST sí es exclusiva de los requests http tipo POST.
  • No coincido con Carxl en que $_REQUEST no sea recomendado. Como ya se dijo, contiene datos que el cliente envia al momento de la petición, y hay muchas situaciones en las que sólo importa el dato enviado y no el método de envío usado.
Espero haya aclarado un poco tu duda tomasy, no confundas las matrices $_GET, $_POST y $_REQUEST con los requests http get y post.



P.D.: request http = peticion http
  #5 (permalink)  
Antiguo 02/03/2009, 15:23
 
Fecha de Ingreso: septiembre-2008
Ubicación: Cuernavaca,Morelos,Mexico
Mensajes: 80
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: diferencia entre $_REQUEST y post y get

gracias por sus comentarios me han ayudado a aclarar mis dudas
  #6 (permalink)  
Antiguo 03/03/2009, 09:38
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: diferencia entre $_REQUEST y post y get

Comentando lo que ha aclarado okram (muchas gracias, yo tampoco tenía muy clara la película ^^), recordé que una vez un colega leía el arreglo $_REQUEST para obtener los valores recibidos desde un script cargado usando AJAX... Supongo que así se evitaba tener que comprobar si los valores venían por GET o por POST, o no? O_o
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #7 (permalink)  
Antiguo 03/03/2009, 09:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: diferencia entre $_REQUEST y post y get

Depende del caso para decir si es recomendable o no, ya que podrían pisarse valores y suceder, por ejemplo, que tenemos un dato que esperábamos recibir desde una Cookie pero es pisada por un valor recibido por la URL (eso también depende de la configuración de variables_order), lo cual, podría ser malo en determinadas situaciones.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 03/03/2009, 09:59
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: diferencia entre $_REQUEST y post y get

A eso me refiero David...

Si cabe la posibilidad a que hayan "conflictos" y si con no usarlo ($_REQUEST) evito que suceda, pues no lo uso

Es depende del caso...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #9 (permalink)  
Antiguo 03/03/2009, 10:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: diferencia entre $_REQUEST y post y get

Otro apunte es que PHP te permite configurar el orden de unión de $_REQUEST, si vemos la directiva variables_order, nos dice como PHP es que empieza a leer y sobreescribir los valores.

Saludos
  #10 (permalink)  
Antiguo 03/03/2009, 11:01
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: diferencia entre $_REQUEST y post y get

Eso mismo lo había dicho entre paréntesis en el mensaje anterior .

Saludos .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 03/03/2009, 12:33
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: diferencia entre $_REQUEST y post y get

Cita:
Iniciado por David el Grande Ver Mensaje
Depende del caso para decir si es recomendable o no, ya que podrían pisarse valores y suceder, por ejemplo, que tenemos un dato que esperábamos recibir desde una Cookie pero es pisada por un valor recibido por la URL
Cita:
Iniciado por Carxl Ver Mensaje
Si cabe la posibilidad a que hayan "conflictos" y si con no usarlo ($_REQUEST) evito que suceda, pues no lo uso
A eso iba. obviamente, si quiero recoger la cookie que contiene el password y el id de login de un usuario que "permanece loguaedo en el sitio" no usaré $_REQUEST.

Pero hay casos en que sí resulta útil. Por ejemplo. Tengo un sistema de paginación y deseo darle al usuario la oportunidad de que él coloque en un campo de texto la página hacia la que debe moverse. Este campo lo meteré entonces en un <form> y además deberé tener un botón submit. Si lo paso por GET en la url irá también el botón submit con su value, y yo no quiero eso (da mal aspecto ). Entonces uso POST. Vale, los links "por default" se generan con el número de página correspondiente como variable de url, pero también debo pensar en los que van a poner el número en el campo de texto. En ese caso, no me importa como es que llega el dichoso número, lo único que me interesa es tomarlo. Para eso uso $_REQUEST. No lo hace más inseguro en absoluto que usar sólo $_GET o $_POST. Es un dato no sensible, simple, y que la verdad me llega al reverendo saber cómo viene

No hay nada absoluto, amigo Carxl, cada quien tiene su forma de trabajar y pensar y todas ellas son válidas

  #12 (permalink)  
Antiguo 03/03/2009, 12:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: diferencia entre $_REQUEST y post y get

Muy buen punto okram. Como habíamos dicho ambos, depende de la situación en que nos encontramos.
Cita:
Iniciado por okram Ver Mensaje
Si lo paso por GET en la url irá también el botón submit con su value, y yo no quiero eso (da mal aspecto ).
No le pongas name al input submit (o mejor aún, usa <button>)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #13 (permalink)  
Antiguo 03/03/2009, 12:40
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: diferencia entre $_REQUEST y post y get

Cita:
No hay nada absoluto, amigo Carxl, cada quien tiene su forma de trabajar y pensar y todas ellas son válidas
Por supuesto Okram, claro que sí...

Yo sólo decía

Cita:
Tengo un sistema de paginación
Jajajajaja me causó gracia el muñequito "" (como diciendo, sé que me van a decir algo y lo más probable es que sea Carxl jajaja)

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:21.