Foros del Web » Programando para Internet » PHP »

Detectar idioma navegador solo la primera vez

Estas en el tema de Detectar idioma navegador solo la primera vez en el foro de PHP en Foros del Web. Hola amigos, me gustaría que cuando un visitante se conecte a mi web por primera vez, según el idioma del navegador se le ponga un ...
  #1 (permalink)  
Antiguo 14/09/2014, 08:31
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 7 meses
Puntos: 1
Detectar idioma navegador solo la primera vez

Hola amigos, me gustaría que cuando un visitante se conecte a mi web por primera vez, según el idioma del navegador se le ponga un idioma o otro, ajustando al suyo, pero que cuando ese usuario quiera, se pueda cambiar el idioma.

¡Muchas Gracias!
  #2 (permalink)  
Antiguo 14/09/2014, 09:46
 
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'];
  #3 (permalink)  
Antiguo 14/09/2014, 10:31
Avatar de jesus1975  
Fecha de Ingreso: febrero-2012
Ubicación: Valencia
Mensajes: 54
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Detectar idioma navegador solo la primera vez

Buenas, otra opción seria utilizar cookies, con esto te evitarias el que cada vez que vuelve el usuario hacer la comprobación del idioma puesto que si guardas una cookie con el idioma del navegador ya lo tendrías guardado.
Otra ventaja seria que si el usuario selecciona otro idioma del navegador si lo guardas en la cookie cuando vuelva ese usuario no lo tendrá que volver a modificar puesto que la lo tienes guardado en la cookie.
Unicamente tendras que hacer la comprobación de si existe la cookie.

Un saludo
__________________
Nuevo portal de anuncios http://www.aquituanuncio.com
  #4 (permalink)  
Antiguo 14/09/2014, 10:49
 
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

Cierto, es mejor la opción de jesus1975 que la que te di yo.
  #5 (permalink)  
Antiguo 15/09/2014, 09:16
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Detectar idioma navegador solo la primera vez

¡Hola jesus1975 y rodrigo_temuco! ,
Muchísimas gracias por vuestras respuestas :D, tenía por defecto que se marcara el español pero sustituí esa línea por el detector XD que despiste XD, está solucionado :) tenéis razón con lo de las cookies, pero hay un problema... Según alguna red social a veces dicen que los navegadores tienen las cookies desactivadas y claro... Si un usuario entrase a la web con las cookies desactivadas no le sadrá casi texto...

Un saludo y dejo el post abierto para debatir esto de las cookies :D
  #6 (permalink)  
Antiguo 15/09/2014, 12:56
Avatar de jesus1975  
Fecha de Ingreso: febrero-2012
Ubicación: Valencia
Mensajes: 54
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Detectar idioma navegador solo la primera vez

Si el usuario tiene desactivado lo de las cookies esta no se podrá crea por lo que tendras que ponerle el idioma por defecto que tenga la web o el navegador (lo que mas te guste).
__________________
Nuevo portal de anuncios http://www.aquituanuncio.com

Etiquetas: idioma, navegador, primera, vez
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 08:55.