Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/09/2014, 09:46
rodrigo_temuco
 
Fecha de Ingreso: abril-2011
Ubicación: Vilcún, cerca de Temuco
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: Detectar idioma navegador solo la primera vez

Trabaja con "sesiones" de php. Si no conoces el tema, es muy largo de explicar aquí, mejor busca información completa, pero más o menos consiste en que:

Al inicio de cualquier página creas o reanudas una sesión con session_start().
Tienes una variable $_SESSION['idioma'] inventada por ti donde guardar el idioma.
La primera vez que el usuario entre al sitio, $_SESSION['idioma'] no va existir. Entonces traes el idioma del navegador, creas la variable, guardas el valor en la variable y armas tu página con ese valor.

Código PHP:
Ver original
  1. if(!isset($_SESSION['idioma']){
  2.     //código para crear la variable y cargarle el valor
  3. }
  4.  
  5. //todo el resto del código para generar la página, usando $_SESSION['idioma']
Las siguientes ocasiones en que el usuario abra una página durante la sesión (o sea, mientras no cierre el navegador), el valor de $_SESSION['idioma'] va a ser el mismo que la primera vez, PHP se encarga de mantenerlo. Y con el !isset() que pusimos, te encargas de que no se vuelva sobreescribir con el del navegador.

Si quieres cambiarlo, creas una página especial con un formulario en el que le das las opciones al usuario, y cambias el valor de la sesión por el que recibas por post.

Código PHP:
Ver original
  1. $_SESSION['idioma']=$_POST['idioma'];