Foros del Web » Programando para Internet » PHP »

Multi idioma!!

Estas en el tema de Multi idioma!! en el foro de PHP en Foros del Web. Buenas!! Tengo un problema con el sistema multi idioma de una web que estoy montando. Trato de guardar una variable de sesión 'idioma' con el ...
  #1 (permalink)  
Antiguo 14/09/2010, 10:50
 
Fecha de Ingreso: septiembre-2008
Ubicación: a medio camino, entre ninguna parte y el olvido
Mensajes: 68
Antigüedad: 15 años, 6 meses
Puntos: 1
Pregunta Multi idioma!!

Buenas!!
Tengo un problema con el sistema multi idioma de una web que estoy montando. Trato de guardar una variable de sesión 'idioma' con el idioma seleccionado, pero siempre se me marca la que está por defecto 'español'.

Dejo el código, porque me estoy volviendo loco.

En cada página cargo esto:
Código PHP:
<?PHP if (!isset($_SESSION['idioma'])){$_SESSION['idioma'] = "es";}?>
Luego los botones de cambio de idioma tienen el siguiente link:
Código PHP:
<a href="comon/Idioma.php?lang=en&pag=<? echo $cad?>" title="english" target="_top">english</a>
En el archivo Idioma.php lo que hago es lo siguiente:
Código PHP:
<?PHP session_start();
    
    if(!isset(
$_GET['lang'])){
        
$_SESSION['idioma']="es";
    }
    else if( 
$_GET['lang'] == "es" ){
            
$_SESSION["idioma"]="es";
    }
    else if( 
$_GET['lang'] == "en") {
            
$_SESSION["idioma"]="en";
    }
    
    
//Devolver a la pagina que lo llamo
    
if(isset($_GET['pag'])){
        
$idioma_return=$_GET['pag'];    
    }
    else if(isset(
$_SESSION['idioma_pagina'])){
        
$idioma_return=$_SESSION['idioma_pagina'];
    }
    else{
        
$idioma_return="Inicio.php";
    }

    
header("Location: www.ejemplo_para_ForosDelWeb.com/$idioma_return");

?>
Y con esto vuelvo a la misma página. Pero con el mismo idioma!!! Tengo el session_start(); en cada pagina. No sé que puede ser.

Un saludo
  #2 (permalink)  
Antiguo 14/09/2010, 10:55
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Multi idioma!!

Hola
bueno, aquí no tienes el session_start
Cita:
Código PHP:
Ver original
  1. <?PHP
  2. if (!isset($_SESSION['idioma'])){$_SESSION['idioma'] = "es";}
  3. ?>
adicional, tienes esto

Cita:
$_SESSION['idioma_pagina'];
pero antes dices que la variable de sesión es idioma, o
esta es otra variable distinta?
revisa eso
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 14/09/2010, 11:09
 
Fecha de Ingreso: septiembre-2008
Ubicación: a medio camino, entre ninguna parte y el olvido
Mensajes: 68
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Multi idioma!!

El session start esta antes en el codigo. No lo puse, pero esta antes.

Y esa es otra variable, si, no hace falta en este momento. Era por si no le pasaba mediante el GET la página desde la que se llama al enlace de cambio de idioma. Pero como veis en el enlace que llamo para cambiar de idioma si que se la paso y la recojo con el GET en Idioma.php para luego poder volver a la misma pagina en la que se estaba y en la que se invoco el cambio de idioma.

saludos
  #4 (permalink)  
Antiguo 14/09/2010, 11:21
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Multi idioma!!

Hola
bueno, te hace falta php en el href

<?php echo $cad; ?>

por otro lado, el archivo lo tienes en esa carpeta comon?
pues yo copie tu código, lo estoy probando y funciona
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 16/09/2010, 02:02
 
Fecha de Ingreso: septiembre-2008
Ubicación: a medio camino, entre ninguna parte y el olvido
Mensajes: 68
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Multi idioma!!

si, el archivo Idioma.php está en la carpeta comon...
  #6 (permalink)  
Antiguo 16/09/2010, 02:24
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Multi idioma!!

Cita:
Iniciado por pier2384 Ver Mensaje
si, el archivo Idioma.php está en la carpeta comon...
revisaste el href....?
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #7 (permalink)  
Antiguo 17/09/2010, 07:46
 
Fecha de Ingreso: septiembre-2008
Ubicación: a medio camino, entre ninguna parte y el olvido
Mensajes: 68
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Multi idioma!!

lo revise...y nada.
  #8 (permalink)  
Antiguo 17/09/2010, 08:18
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Multi idioma!!

uhm, pues que extraño, solo veo esto raro

header("Location: www.ejemplo_para_ForosDelWeb.com/$idioma_return");


no deberia ser inicio.php?idioma=$idioma_return ???

si hago esto

header("Location: www.ejemplo_para_ForosDelWeb.com/".$_SESSION['idioma']);

funciona bien

ahora, tienes esto en el href

<a href="comon/Idioma.php?lang=en&pag=<? echo $cad; ?>" title="english" target="_top">english</a>

que es cad???? y yo agregaría php es decir, que quede
<?php echo $cad; ?>

eso veo
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 17/09/2010 a las 08:26

Etiquetas: multi, idiomas
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 15:50.