Hola compañeros
Pues la verdad es que no se de donde biene mi problema, si de las sesiones o del paso de parámetros, pero es que no me sale
Os cuento. Estoy haciendo una web multiidioma y, desde unas banderitas el usuario podrá escoger el idioma de la web. Bien, pues para hacer esto, he pensado utilizar sesiones y, me declaro la siguiente
Código:
session_start();
if ( !isset( $lan ) || ( $lan == '') )
$lan = 'esp';
session_register( "lan" );
Osea, pretendo iniciar la sesión, comprobar que la variable
lan (que es la que me dice el idioma) exista y si no inicializarla y luego, registrar dicha variable.
El enlace de las banderitas hago lo siguiente
Código:
<a href="php_code/idioma.php?lang=0">
<img src="images/esp.gif" border="0" alt=" Español ">
</a>
Osea, llamo a un php que contiene lo siguiente
Código:
<?
switch ( $lang ) {
case 0 : $lan = 'esp'; break;
case 1 : $lan = 'cat'; break;
case 2 : $lan = 'fra'; break;
case 3 : $lan = 'ing'; break;
}
session_start();
session_register( "lan" );
header( "Location: ../index.php" );
?>
Dependiendo del parámetro, inicializamos la variable
lan y luego la registro.
Pues bien, resulta que si voy chequeando las dos variables (lang y lan) a lo largo del recorrido, estas siempre valen lo mismo, el valor por defecto que le asigno al principio (es decir, "esp").
Lo extraño es que "lang" me valga ese valor (cuando se esta pasando como parámetro un 0, 1, 2, o 3 según el idioma), por lo que no se me actualiza nunca el valor de "lan" para cambiar el idioma.
Alguien ve donde estoy errando?
Gracias y perdón por el rollo