Foros del Web » Programando para Internet » PHP »

Simular envio de variable por URL

Estas en el tema de Simular envio de variable por URL en el foro de PHP en Foros del Web. Hola Estoy modificando una aplicacion prefabricada donde por URL se le pasa una variable de esta manera index.php?langid=2 El problema radica es que no se ...
  #1 (permalink)  
Antiguo 13/07/2006, 18:26
 
Fecha de Ingreso: febrero-2005
Mensajes: 623
Antigüedad: 12 años, 9 meses
Puntos: 10
Sonrisa Simular envio de variable por URL

Hola

Estoy modificando una aplicacion prefabricada donde por URL se le pasa una variable de esta manera index.php?langid=2

El problema radica es que no se quiere que se envie por URL, sino que por ciertas cuestiones logicas se escoga el valor de la variable langid

Entonces ya intente usar

$_POST['langid']="2";
$_GET['langid']="2";
global $langid;
$langid="2";

Al parecer no puedo recogerla como SESSION
Pero no logro simular que se envia por la URL

Se les ocurre alguna idea?
Gracias de antemano

Última edición por August; 13/07/2006 a las 19:16
  #2 (permalink)  
Antiguo 13/07/2006, 20:32
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
no entiendo que es lo que quieras hacer ¿queres pasar la variable $langid de otra forma que no sea por el get (url)? ¿queres pasafrla por el get pero recibirla de otra forma? ¿queres grabarla como una variable de sesion?..
__________________
oohh... quisiera ser godines!!!
  #3 (permalink)  
Antiguo 14/07/2006, 00:27
Avatar de GERMANCIN  
Fecha de Ingreso: junio-2004
Mensajes: 151
Antigüedad: 13 años, 6 meses
Puntos: 0
De acuerdo se me ocurre

Bueno en realidad no entiendo muy bien tu pregunta tampoco , pero se me ocurre que si queires pasar alguna variable y no quieres que nadie la vea pues pasala como hidden


<input type="hidden" value="<? $variable ?>" >
  #4 (permalink)  
Antiguo 14/07/2006, 02:14
 
Fecha de Ingreso: febrero-2005
Mensajes: 623
Antigüedad: 12 años, 9 meses
Puntos: 10
Hola, gracias por responder, voy a describir el problema...

Tengo una aplicacion prefabricada, esta tiene un vinculo a cada uno de los idiomas instalados, por ejemplo: index.php?langid=1 es el de ingles y index.php?langid=2 es el de español y asi con cada pagina de esta aplicacion

por default muestra un idioma, este idioma por default se establece en Panel de Administrador, pero el idioma por default se almacena en un campo SQL, en una tabla donde hay diversas configuraciones, yo no quiero utilizar esta tabla por que yo para determinar el idioma uso otra tabla de SQL

Busque en todos los archivos algo como $_GET[langid], $_GET['langid'], o con sus equivalentes en HTTP_GET_VARS y no lo encontre , entonces realmente no entiendo como le hacen para obtener esa variable

Lo que necesito es establecer el valor de la variable $langid en cada archivo, lo intente de varias manera que indique en el primer post e incluso intente haciendola global, pero parece que la unica manera de que darle un valor a esa variable es enviando el valor de la variable por URL

Mi pregunta es como puedo establecer de alguna manera la variable $langid como si lo hiciera por URL
  #5 (permalink)  
Antiguo 14/07/2006, 10:45
 
Fecha de Ingreso: febrero-2005
Mensajes: 623
Antigüedad: 12 años, 9 meses
Puntos: 10
Finalmente me funciono $_REQUEST['langid']
Lei en la documentacion del PHP en Español y dice:

Cita:
$_REQUEST
Variables proporcionadas al script por medio de cuaquier mecanismo de entrada del usuario y por lo tanto no se puede confiar en ellas. La presencia y el orden en que aparecen las variables en esta matriz es definido por la directiva de configuración variables_order. Esta matriz no tiene un análogo en versiones anteriores a PHP 4.1.0. Vea también import_request_variables().
Dice que no se puede confiar en ellas, porque sera?
  #6 (permalink)  
Antiguo 14/07/2006, 22:25
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
por el mismo motivo que no es confiable dejar las directivas variables globales encendidas... porque hace que un codigo sea mucho mas vulnerable a los usuarios malintencionados.
__________________
oohh... quisiera ser godines!!!
  #7 (permalink)  
Antiguo 17/07/2006, 07:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por August
Finalmente me funciono $_REQUEST['langid']
Lei en la documentacion del PHP en Español y dice:



Dice que no se puede confiar en ellas, porque sera?
No se puede "confiar" por qué dicho array contiene todo lo que pueda llegar por GET, POST y sea una COOKIE .. demasiado amplio el "espectro" de variables y métodos que puede aceptar en ese caso.

Lo recomendable es que si tu sabes que esperas una variable en -tal- método (GET o POST .. o COOKIE .. o es una sesión .. u otra cosa) .. lo tomes en tu script PHP de proceso por el array superglobal asociado.

Hay algunos casos que no es posible saber si te llegará por "POST" o por "GET" o podría llegar por ambos métodos .. en esos casos vale la pena re-plantearse la aplicación y ver por qué sucede esta situación para decidirse por uno u otro método (además que simplifica tu aplicación en general y evita errores).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 17/07/2006, 10:54
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
Cita:
Hay algunos casos que no es posible saber si te llegará por "POST" o por "GET" o podría llegar por ambos métodos .. en esos casos vale la pena re-plantearse la aplicación
Hola Cluster... en muchas ocasiones me encuentro ante situaciones como esa. Por lo general lo que hago en esos casos es, antes de utilizar la variable, checkear si vino por un metodo y sino por el otro. ¿eso esta bien o siempre es mejor replantear la aplicacion para que esto no suceda? ¿Podrias decir algun ejemplo de este problema con su respectivo replanteo para clarificarme un poco mas la idea?

Saludos
__________________
oohh... quisiera ser godines!!!
  #9 (permalink)  
Antiguo 17/07/2006, 11:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por safe
Hola Cluster... en muchas ocasiones me encuentro ante situaciones como esa. Por lo general lo que hago en esos casos es, antes de utilizar la variable, checkear si vino por un metodo y sino por el otro. ¿eso esta bien o siempre es mejor replantear la aplicacion para que esto no suceda? ¿Podrias decir algun ejemplo de este problema con su respectivo replanteo para clarificarme un poco mas la idea?

Saludos
Un ejemplo típico es:

Formulario.php -> envia datos por POST a "procesar.php"

Procesar PHP muestra un listado de registros y es necesario aplicar algún otro filtro que seleccionamos como "links" .. lease: paginados, ordenamientos de columnas .. etc. En ese caso, esas variables suelen ir en GET entre otras cosas por qué nos interesa tener un link completo que nos dé el resultado (por ejemplo para dar una referencia directa a alguien).

A su vez ya hemos tenído que "convertir" a GET esas variables que en primera instancia nos llegaron del formulario de "busqueda" principal para propagar esas y las nuevas variables en el URL (GET).

En esos casos, solemos usar $_REQUEST y nos olvidamos si llegan nuestras variables por el formulario de "busqueda" (HTML) en POST o nos llega por el URL de un link de un "paginado" (en GET).

Ahí es cuando por mi parte eligo para ese formulario método "GET" directamente y valido que mis variables lleguen en GET en cualquiera caso, simplifico código entre otras cosas y el flujo se hace "natural". Recuerdo que el "objetivo" en estos casos y el hecho de usar "GET" y no otras soluciones: cookies, sesiones, post (forzado) .. etc es la de poder tener un "link" directo para llegar al resultado que tras N filtrados paginados y demás hemos obtenido.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 17/07/2006, 12:26
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
Muchisimas gracias Cluster... una vez mas has iluminado mi camino en esto de la programacion en PHP
__________________
oohh... quisiera ser godines!!!
  #11 (permalink)  
Antiguo 19/07/2006, 19:57
 
Fecha de Ingreso: febrero-2005
Mensajes: 623
Antigüedad: 12 años, 9 meses
Puntos: 10
Gracias Cluster como siempre una finisima persona
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 22:30.