Foros del Web » Programando para Internet » PHP »

Problemilla con location, ayuda gracias.

Estas en el tema de Problemilla con location, ayuda gracias. en el foro de PHP en Foros del Web. Hola a todos, Os cuento, tengo plantilla.php que es la página general, que se carga siempre, y varia el contenido en función de lo que ...
  #1 (permalink)  
Antiguo 10/04/2003, 06:37
 
Fecha de Ingreso: febrero-2003
Mensajes: 47
Antigüedad: 21 años, 2 meses
Puntos: 0
Problemilla con location, ayuda gracias.

Hola a todos,

Os cuento, tengo plantilla.php que es la página general, que se carga siempre, y varia el contenido en función de lo que pase por el argumento "pag".
Existe una parte donde puedes cambiar el idioma:

plantilla.php:

<a href="redirector.php?idioma=<?=_IDIOMA_1;?>&destin o=<?=$_SERVER['PHP_SELF']."?pag=".$strPag;?>">Idioma1</a>

Como veís llama a otra página "redirector.php" que simplemente mete en una variable de sesión el nuevo idioma, idioma=fr, y hace un redireccionamiento otra vez con el contenido del argumento destino --> "plantilla.php?pag=010101" (por ejemplo).

redirector.php:

header("Location: ".$_GET['destino']);
exit;

Este código me funciona de maravilla en mi ordenador en local (localhost://....), pero cuando lo bajo a mi ISP Arsys, después de ejecutar redirector.php, la nueva página cargada tiene la siguiente ruta como dirección del browser:

http://www.oijj.org/prueba/plantilla...php?pag=010000

y no la correcta:

http://www.oijj.org/prueba/plantilla...php?pag=010000

En local me funciona bien, pero cuando lo bajo al servidor NO.

Se que puedo programar de otra forma todo para no utilizar la página redirector.php pero me gustaría saber si lo puedo dejar así.

MIL GRACIAS.
  #2 (permalink)  
Antiguo 10/04/2003, 07:47
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
<?=_IDIOMA_1;?>

¿No falta un $ ?
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 10/04/2003, 08:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Igual es una constante el _IDIOMA_1 .. Pero como no vemos el cógido completo no vemos ningun define() por ahí por ejemplo ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 10/04/2003, 10:39
 
Fecha de Ingreso: febrero-2003
Mensajes: 47
Antigüedad: 21 años, 2 meses
Puntos: 0
Si _IDIOMA_1 es una constante con define(), por ejemplo significa "fr" (francés)
  #5 (permalink)  
Antiguo 10/04/2003, 10:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm prueba con:

basename() .. con eso te quedará tu $_SERVER['PHP_SELF'] en pagina.php

Código PHP:
<a href="redirector.php?idioma=<?=_IDIOMA_1;?>&destino=<? echo basename($_SERVER['PHP_SELF'])."?pag=".$strPag;?>">Idioma1</a>
Si perdieras las variables del la llamada a la página .. las puedes leer desde $_SERVER['QUERY_STRING'] para componer tu $destiono .... concatenando el basename() obtenido con "?" y el "query string".

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 10/04/2003, 10:58
 
Fecha de Ingreso: febrero-2003
Mensajes: 47
Antigüedad: 21 años, 2 meses
Puntos: 0
CLUSTER MIL GRACIAS

Funciona, sólo puedo agradecerte la rapidez con la que contestas, y perdón por todo. Gracias de nuevo.

Por cierto basename() que hace exactamente ???

:)
  #7 (permalink)  
Antiguo 10/04/2003, 11:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ya te lo expliqué ahi brevemente .. Tan solo "descarta" en una cadena que contenga un URL típico quedanose con el último /bloque .. que equivaldría al nombre del archivo ...

Tambien tienes un 2º parámetro en esa función .. para quedarte incluso solo con el nombre (sin extensión) por si te hiciera falta.

Mas info en el manual de PHP.net:
http://www.php.net/manual/en/function.basename.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 00:17.