Foros del Web » Programando para Internet » PHP »

Problema al iniciar

Estas en el tema de Problema al iniciar en el foro de PHP en Foros del Web. Hola a todos, Tengo un problema. Estoy trabajando con cookies y mi aplicación es multilenguaje. Cada vez que entras aparece una página inicial, donde te ...
  #1 (permalink)  
Antiguo 08/03/2007, 08:15
 
Fecha de Ingreso: febrero-2007
Mensajes: 244
Antigüedad: 17 años, 2 meses
Puntos: 0
Problema al iniciar

Hola a todos,

Tengo un problema. Estoy trabajando con cookies y mi aplicación es multilenguaje. Cada vez que entras aparece una página inicial, donde te tienes que loguear para poder entrar. Pues bien, cada vez que entro, me aparece todo sin texto, y hasta que no actualizo no me aparece. Os pongo lo que tengo en index.php para que veais....

Cita:
<?php
header("Cache-control: private"); // IE 6 Fix.

if (!$_POST["lang"]) {
$idioma = "ES";
} else {
$idioma = $_POST['lang'];
}

if (empty($_COOKIE["lang"]) || !$_COOKIE["lang"]) {
setcookie("lang", $idioma, time() + 5000);
}

$cook = $_COOKIE["lang"];

if ($cook == "ES") {
include "lang/ES/lang.php";
} else
if ($cook == "EN") {
include "lang/EN/lang.php";
}
?>

<html>
.........

</html>
A ver si me echais 1 mano...
  #2 (permalink)  
Antiguo 08/03/2007, 09:05
 
Fecha de Ingreso: febrero-2007
Mensajes: 244
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Problema al iniciar

Solucionado!!! Era el Zonealarm
  #3 (permalink)  
Antiguo 08/03/2007, 11:09
 
Fecha de Ingreso: febrero-2007
Mensajes: 244
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Problema al iniciar

Bueno, pues lo hemos probado en otro ordenador sin ZoneAlarm y no me funcionaaaa, alguna idea ??
  #4 (permalink)  
Antiguo 08/03/2007, 12:15
 
Fecha de Ingreso: febrero-2004
Mensajes: 37
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Problema al iniciar

Tal vez no haga falta que te compliques tanto, el el array
$_SERVER esta la variable HTTP_ACCEPT_LANGUAGE
http://ar.php.net/reserved.variables

Más alla de eso, supongo (ya que no lo he probado) que tal vez seria mejor agregarle la funcion is_set para validar el post

if (!is_set($_POST["lang"])) {
$idioma = "ES";
} else {
$idioma = $_POST['lang'];
}


Espero que te haya sido util
Jose
  #5 (permalink)  
Antiguo 08/03/2007, 12:18
 
Fecha de Ingreso: febrero-2007
Mensajes: 244
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Problema al iniciar

Mmm no sabía de la existencia de esa variable, cómo la uso?? Yo lo que hago es guardar en 1 cookie el idioma, pq en cualquier página puede cambiar el idioma... pero kizás esa sea 1 buena idea.
  #6 (permalink)  
Antiguo 08/03/2007, 14:39
 
Fecha de Ingreso: febrero-2004
Mensajes: 37
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Problema al iniciar

Vane:
Cuando el navegador se conecta a un sitio le envia un Request. Dentro del encabezado del mismo se encuetra el parametro ACCEPT_LANGUAGE, PHP te permite acceder a ese parametro directamente a traves de la variable global $_SERVER['HTTP_ACCEPT_LANGUAGE']. (para mas informacion http://ar.php.net/reserved.variables)

Desafortundamente yo no la he usado. Sin embargo, ante tu consulta, me puse a buscar en la documentacion de PHP sobre la manera de obtener el parametro mensionado, sabia que el navegador le envia al servidor el lenguaje seteado aunque tenia dudas de como obtenerlo.

Encontre, afortunadamente algunos ejemplos sobre su uso, que espero te sirvan
http://www.phptutorial.info/scripts/languages.php
http://www.wellho.net/resources/ex.p...h110/alang.php
http://techpatterns.com/downloads/ph..._detection.php
http://www.domsmith.co.uk/resources/...ccept_lang.pdf
Este ultimo link, el del archivo pdf, me trae algunas dudas. Te recomeindo que accedas al contenido de la misma de esta manera

$lenguaje = $_SERVER['HTTP_ACCEPT_LANGUAGE'] ;

Antes de hacer algo con la misma te conviene hacer un script de prueba para ver si PHP detecta el lenguaje correctamente, te paresera extraño pero si no he leido mal la documentacion de PHP depende si el mismo esta instalado como modulo de apache o CGI.

Al leer tu mensaje, no entendi muy bien para que querias utilizar la variable $_POST, supuse que dentro de la pagina tenias un FORM donde seleccionabas el mismo. La variable que te mensione es una opción que supongo puedes aprovechar

Espero haberte sido de ayuda

Suerte
Jose

Última edición por joseangelini; 08/03/2007 a las 16:10 Razón: error en el mensaje
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 20:08.