Foros del Web » Programando para Internet » PHP »

GET o POST?

Estas en el tema de GET o POST? en el foro de PHP en Foros del Web. Que pasaria si una variable no la hago llamar como GET $ID? o POST? Saludos...
  #1 (permalink)  
Antiguo 07/06/2003, 20:26
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 15 años, 1 mes
Puntos: 4
Exclamación GET o POST?

Que pasaria si una variable no la hago llamar como GET $ID?

o POST?

Saludos
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #2 (permalink)  
Antiguo 07/06/2003, 20:38
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 15 años, 11 meses
Puntos: 1
?
  #3 (permalink)  
Antiguo 07/06/2003, 20:41
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 15 años, 1 mes
Puntos: 4
Mira a lo mejor no me explicado bien.

tengo en una variable

$A = "Hola";

y desde la otra página

../../hola.php?A=$HOLA

GET $A o POST $A

haber no lo tengo muy claro porque llamar una variable hasta otra página e visto que la hacen llamar GET o POST.

Porque?


Saludos
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #4 (permalink)  
Antiguo 07/06/2003, 21:11
Avatar de LeoIglesias  
Fecha de Ingreso: enero-2003
Ubicación: Concepcion del Uruguay
Mensajes: 53
Antigüedad: 14 años, 11 meses
Puntos: 0
Creo que te referis a pasar variables de una pagina a otra. Para lograrlo debes porner en la pagina que recibira el parametro lo siguiente

$variable = $HTTP_GET_VARS ['variable'];
o
$variable = $HTTP_POST_VARS ['variable'];
(o en versiones mas nuevas de PHP $_POST o $_GET)

Con respecto a cu'al utilizar eso lo decidis vos, por seguridad se recomienda el POST.

Si te pegas una vuelta por las FAQS, veras que por alli ya lo han explicado.....el tema es de lo basico de PHP

Saludos
Leo(!)
  #5 (permalink)  
Antiguo 07/06/2003, 21:13
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 15 años, 1 mes
Puntos: 4
Yo es que siempre para pasar variables lo e hecho normal sin el GET o POST.

Voy a vaer

Saludos LeoIglesias
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #6 (permalink)  
Antiguo 07/06/2003, 22:17
 
Fecha de Ingreso: abril-2003
Mensajes: 80
Antigüedad: 14 años, 8 meses
Puntos: 0
Saludos maestros.


Mira una diferencia notable es que si pasas varables por el método GET sólo podrás pasar 2KB de variable, es decir, si pasas una cadena de caracteres sólo te verás limitado a que esa cadena ocupe 2KB, ahora, si lo pasa con POST no habrá límite.

Adios.
  #7 (permalink)  
Antiguo 07/06/2003, 22:18
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 15 años, 1 mes
Puntos: 4
Me podrías decir si existe alguna diferencia más?

Saludos
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #8 (permalink)  
Antiguo 07/06/2003, 23:42
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 14 años, 8 meses
Puntos: 2
Creo que tu duda se resuelve aqui

http://www.forosdelweb.com/out.php?h...9%23post238989
  #9 (permalink)  
Antiguo 08/06/2003, 00:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Mensaje Original por abdel rahman
Saludos maestros.


Mira una diferencia notable es que si pasas varables por el método GET sólo podrás pasar 2KB de variable, es decir, si pasas una cadena de caracteres sólo te verás limitado a que esa cadena ocupe 2KB, ahora, si lo pasa con POST no habrá límite.

Adios.
mm Tanto en GET como en POST hay límites ..

Por ejemplo .. GET lo limita Apache (por decir un servidor HTTP) en sus directivas:

LimitRequestLine
http://httpd.apache.org/docs-2.0/mod...mitrequestline

(por defecto dice estar como a 8K (8190 bytes) .. A no ser que se modifique ..)

Y PHP hace lo própio para POST en la directiva:

; Maximum size of POST data that PHP will accept.
post_max_size = 8M

(por defecto está a 8M . .hay limite por lo tanto .. Aclarar que esto es lo que limita PHP .. hay que ver lo que digan **)

** Luego habría que ver el protocolo HTTP a ver que dice o el standard CGI .. Para ver límites más concretos.

Solo como "detalle" .. Si usas un "link" para pasar datos (como los ejemplos que has puesto) esos datos viajan por el método GET ..

Si usas un formulário . puedes usar GET o POST (si así lo indicas en el tag method= .. del formulario .. si no indicas method se toma por defecto GET ..).

Y .. el efecto a "simple vista" de que estás enviando datos por GET o POST es que por GET ves en el barra de direciones de tu navegador todo el "link" completo con las variables que estes usando y sus valores .. Mientras que por POST no los ves ahí ..

Un saludo,
  #10 (permalink)  
Antiguo 08/06/2003, 07:46
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 15 años, 1 mes
Puntos: 4
Ok ,

En el formulario siempre pongo

<form action='' method=get>

o siempre el que uso

<form action='' method=post>

Lo que me di cuenta que tengo un textarea en un formulario por que tengo en mi base de batos como longtext y no me dejaba cojer la variable y veo que me lo cogia por GET aún diciendole method='POST'

Saludos
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #11 (permalink)  
Antiguo 08/06/2003, 17:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
A ver .. syntex ..

Lo que manda es PHP a la hora de recoger las variables por uno u otro método ... No lo que tu pongas en tu method de tu formulario ..

Si tu en tu PHP script asumes las variabels como golabales y tienes register_globals a ON .. dará igual si usas GET o POST en tu method de tu formulario .. Siempre obtendras su valor si lo llamas:

(en PHP) $variable .. siendo que tu formulario usas un <intput name="variable" ...>

Pero si usases register_globals a OFF .. verías que a no ser que uses $_GET o $_POST para obtener tu variable NO obtendras su valor ..

Osese .. si usas en tu formulario el method="GET" .. pues deberás recoger por

$_GET['variable']

Y si usas POST .. pues ya te lo puedes imaginar ..

De eso trata la FAQ que te puso el Link DotNetDeveloper Y es ALTAMENTE recomendable por la seguridad de tus scripts que uses dichos arrays "Superglobales" .. o en su defecto los arrays $HTTP_GET o POST_VARS .. entre otros ..

Haz tus pruebas .. edita tu php.ini y cambia la directiva register_globals de ON como supongo que lo tendras a OFF y prueba tus scrips que pasen datos de formularios o URL a otros scripts .. Observaras lo que te comento.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 09/06/2003, 05:11
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 15 años, 1 mes
Puntos: 4
Saludos
en m,mi php.ini tengo el register_globals = ON

Saludos voy a ver.

Gracias
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

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 09:18.