Ver Mensaje Individual
  #1  
Antiguo 16-11-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Reputación: 25
__cadetill Va por buen camino
Problema con parámetros o sesiones

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
Responder Con Cita