PHP - Ayuda con pagina web multilenguaje

   
Vista:

Ayuda con pagina web multilenguaje

Publicado por Abel (2 intervenciones) el 01/12/2014 17:32:26
Buenas, estoy haciendo una pagina web en el trabajo (soy principiante en esto de programacion) y estoy haciendo que la pagina sea multilenguaje, teniendo una carpeta para castellano y otra para el otro idioma, y luego usando la variable define, la cuestion es, que cuando le doi a que cambie de idioma mediante los iconos, me lo cambia pero en cuanto cambio de pagina php no persiste ese idioma, por ejemplo:
cambio a idioma español el index.php y pasa a ser --> index.php?idioma=es
pero en cuanto paso a por ejemplo tarifas.php no sale con ?idioma=es y no me sale el mismo idioma
el codigo que tengo para hacer esto es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
session_start();
if(isset($_GET['idioma'])){
    if(($_GET['idioma'] == 'es') || ($_GET['idioma'] == 'gl')){
        $_SESSION['idioma'] = $_GET['idioma'];
       include $_SERVER['DOCUMENT_ROOT'].'/prueba/resources/idioma/'.$_GET['idioma']."/index.php";
    }else{
        include $_SERVER['DOCUMENT_ROOT']."/prueba/resources/idioma/es/index.php";
    }
}else if(isset($_POST['idioma'])){
    if(($_POST['idioma'] == 'es') || ($_POST['idioma'] == 'gl')){
        $_SESSION['idioma'] = $_POST['idioma'];
        include $_SERVER['DOCUMENT_ROOT'].'/prueba/resources/idioma/'.$_POST['idioma']."/index.php";
    }else{
        include $_SERVER['DOCUMENT_ROOT']."/prueba/resources/idioma/es/index.php";
    }
}else if(isset($_SESSION['idioma'])){
   if(($_SESSION['idioma'] == 'es') || ($_SESSION['idioma'] == 'gl')){
        include $_SERVER['DOCUMENT_ROOT']."/prueba/resources/idioma/es/index.php";
   }else{
        include $_SERVER['DOCUMENT_ROOT']."/prueba/resources/idioma/gl/index.php";
   }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Ayuda con pagina web multilenguaje

Publicado por xve (5520 intervenciones) el 01/12/2014 19:06:07
Hola Abel, entiendo que esta linea esta mal, no?
1
2
if(($_SESSION['idioma'] == 'es') || ($_SESSION['idioma'] == 'gl')){
   include $_SERVER['DOCUMENT_ROOT']."/prueba/resources/idioma/es/index.php";

creo que tendría que ser:
1
2
if(($_SESSION['idioma'] == 'es') || ($_SESSION['idioma'] == 'gl')){
   include $_SERVER['DOCUMENT_ROOT']."/prueba/resources/idioma/".$_SESSION['idioma']."/index.php";


Luego el otro tema, es que tienes que cambiar en tus condicionales index.php por el nombre del archivo de la página, no? por ejemplo, si en la url pone: tarifas.php, tendras que modificar las url's para que vayan a tarifas.php en vez de index.php, no?

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda con pagina web multilenguaje

Publicado por Abel (2 intervenciones) el 02/12/2014 08:54:08
muchas gracias por el aporte, fue cambiar eso y ya me funciono, llevaba varios dias con esto dandome vueltas y no conseguia la solucion, si ya tengo las variables cambiadas en cada .php solo me faltaba cambiar eso en el codigo.

gracias por la ayuda, ayudare en lo que me sea posible ya que soy principiante, un saludo y pondre alguna consulta mas en cuanto me rompa la cabeza y no sepa como sacar las castañas del fuego jeje
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar