Foros del Web » Programando para Internet » PHP »

Detectar navegador automaticamente

Estas en el tema de Detectar navegador automaticamente en el foro de PHP en Foros del Web. Estuve buscando y encontre esto... Código PHP: if ( $HTTP_ACCEPT_LANGUAGE  !=  '' ){  # Verificamos que el visitante haya designado algún idioma      $idiomes  =  explode ( "," ,  $HTTP_ACCEPT_LANGUAGE );  # Convertimos HTTP_ACCEPT_LANGUAGE en array     /* Recorremos el array hasta que encontramos un idioma del visitante que coincida con los idiomas     en que está disponible nuestra web */ ...
  #1 (permalink)  
Antiguo 27/01/2007, 20:33
 
Fecha de Ingreso: febrero-2002
Mensajes: 503
Antigüedad: 22 años, 2 meses
Puntos: 0
Detectar navegador automaticamente

Estuve buscando y encontre esto...

Código PHP:
if ($HTTP_ACCEPT_LANGUAGE != ''){ # Verificamos que el visitante haya designado algún idioma
    
$idiomes explode(","$HTTP_ACCEPT_LANGUAGE); # Convertimos HTTP_ACCEPT_LANGUAGE en array
    /* Recorremos el array hasta que encontramos un idioma del visitante que coincida con los idiomas
    en que está disponible nuestra web */
    
for ($i=0$i<count($idiomes); $i++){
        if (!isset(
$idioma)){
            if (
substr($idiomes[$i], 02) == "ca"){$idioma "ca";}
            if (
substr($idiomes[$i], 02) == "es"){$idioma "es";}
            if (
substr($idiomes[$i], 02) == "en"){$idioma "en";}
            if (
substr($idiomes[$i], 02) == "fr"){$idioma "fr";}
        }
    }
}

# Si no hemos encontrado ningún idioma que nos convenga, mostramos la web en el idioma por defecto
if (!isset($idioma)){$idioma "ca";} 

Si bien yo no sé programar en php, entiendo algo...

Mi pregunta es, si en este codigo yo puedo ingresar la direccion de cada idioma, por ej si es español que sea "www.url.com/es" ingles "www.url.com/en" , o si conocen otro codigo que si se pueda hacer eso me seria de gran ayuda.

Muchas gracias !
__________________
WwW.oasisforo.CoM.ar
  #2 (permalink)  
Antiguo 28/01/2007, 10:47
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Re: Detectar navegador automaticamente

en cada

if (substr($idiomes[$i], 0, 2) == "ca"){$idioma = "ca";}

agregar

if (substr($idiomes[$i], 0, 2) == "ca"){$idioma = "ca";$url='www.url.com/ca'}
  #3 (permalink)  
Antiguo 28/01/2007, 13:55
 
Fecha de Ingreso: febrero-2002
Mensajes: 503
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Detectar navegador automaticamente

Cita:
Iniciado por Nefertiter Ver Mensaje
en cada

if (substr($idiomes[$i], 0, 2) == "ca"){$idioma = "ca";}

agregar

if (substr($idiomes[$i], 0, 2) == "ca"){$idioma = "ca";$url='www.url.com/ca'}
Gracias Nefertiter, pero lo probé y no me redirecciona a ningun lado...asi deje el codigo...

Código PHP:
<?
if ($HTTP_ACCEPT_LANGUAGE != ''){ # Verificamos que el visitante haya designado algún idioma
    
$idiomes explode(","$HTTP_ACCEPT_LANGUAGE); # Convertimos HTTP_ACCEPT_LANGUAGE en array
    /* Recorremos el array hasta que encontramos un idioma del visitante que coincida con los idiomas
    en que está disponible nuestra web */
    
for ($i=0$i<count($idiomes); $i++){
        if (!isset(
$idioma)){
            if (
substr($idiomes[$i], 02) == "ca"){$idioma "es";$url='es.html';}
            if (
substr($idiomes[$i], 02) == "ca"){$idioma "en";$url='en.html';}
        }
    }
}

# Si no hemos encontrado ningún idioma que nos convenga, mostramos la web en el idioma por defecto
if (!isset($idioma)){$idioma "es";} 
?>
en if (substr($idiomes[$i], 0, 2) == "ca"){$idioma = "es";$url='es.html';} le agregue un ; porque sino me tiraba error... pero ahora no redirecciona, en ningun momento lo hizo!!
__________________
WwW.oasisforo.CoM.ar
  #4 (permalink)  
Antiguo 28/01/2007, 22:28
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Re: Detectar navegador automaticamente

agrega al final de todo...


header("Location: $url");
exit();
  #5 (permalink)  
Antiguo 28/01/2007, 23:32
 
Fecha de Ingreso: febrero-2002
Mensajes: 503
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Detectar navegador automaticamente

Negativo.. si es asi como me decias que lo deje, tampoco funciona.

Código PHP:
<?
if ($HTTP_ACCEPT_LANGUAGE != ''){ # Verificamos que el visitante haya designado algún idioma
    
$idiomes explode(","$HTTP_ACCEPT_LANGUAGE); # Convertimos HTTP_ACCEPT_LANGUAGE en array
    /* Recorremos el array hasta que encontramos un idioma del visitante que coincida con los idiomas
    en que está disponible nuestra web */
    
for ($i=0$i<count($idiomes); $i++){
        if (!isset(
$idioma)){
            if (
substr($idiomes[$i], 02) == "ca"){$idioma "es";$url='es.html';}
            if (
substr($idiomes[$i], 02) == "ca"){$idioma "en";$url='en.html';}
        }
    }
}

# Si no hemos encontrado ningún idioma que nos convenga, mostramos la web en el idioma por defecto
if (!isset($idioma)){$idioma "es";} 
header("Location: $url");
exit();
?>
__________________
WwW.oasisforo.CoM.ar
  #6 (permalink)  
Antiguo 29/01/2007, 18:53
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Re: Detectar navegador automaticamente

de donde sacaste ese codigo?

cambia

$HTTP_ACCEPT_LANGUAGE

por
$_SERVER['HTTP_ACCEPT_LANGUAGE']

Y ADEMAS fijate que valores tira substr($idiomes[$i], 0, 2)

xq hacer 2 if con exactamente la misma condicion no tiene sentido... deberia ser algo como

substr($idiomes[$i], 0, 2) == "es"

o substr($idiomes[$i], 0, 2) == "en"

fijate q valor te tira :)
  #7 (permalink)  
Antiguo 30/01/2007, 11:19
 
Fecha de Ingreso: febrero-2002
Mensajes: 503
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Detectar navegador automaticamente

Muchas gracias por la ayuda... el codigo funciona así!

Código PHP:
<?
if ($_SERVER['HTTP_ACCEPT_LANGUAGE'] != ''){ # Verificamos que el visitante haya designado algún idioma
    
$idiomes explode(","$HTTP_ACCEPT_LANGUAGE); # Convertimos HTTP_ACCEPT_LANGUAGE en array
    /* Recorremos el array hasta que encontramos un idioma del visitante que coincida con los idiomas
    en que está disponible nuestra web */
    
for ($i=0$i<count($idiomes); $i++){
        if (!isset(
$idioma)){
        
            if (
substr($idiomes[$i], 02) == "es"){$idioma "es";$url='es.html';}
            if (
substr($idiomes[$i], 02) == "en"){$idioma "en";$url='en.html';}
        }
    }
}

# Si no hemos encontrado ningún idioma que nos convenga, mostramos la web en el idioma por defecto
if (!isset($idioma)){$idioma "es";} 
header("Location: $url");
exit();
?>
__________________
WwW.oasisforo.CoM.ar
  #8 (permalink)  
Antiguo 30/01/2007, 11:31
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Re: Detectar navegador automaticamente

de nadas...
  #9 (permalink)  
Antiguo 28/11/2007, 13:17
masio
Invitado
 
Mensajes: n/a
Puntos:
Re: Detectar navegador automaticamente

Cita:
Iniciado por Nefertiter Ver Mensaje
de nadas...

Muy util lo que crearon, pero...no se mucho de esto. Tengo una pagina html, donde pego el codigo??? Muchas gracias.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 15:32.