Tema: Cookiesss
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/07/2010, 07:35
Avatar de humanista
humanista
 
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años, 1 mes
Puntos: 15
Cookiesss

Hola, estoy trabajando con cookies para controlar el cambio de idioma en la web y me pasa algo raro. En el directorio raíz me funciona perfectamente el cambio de idioma pero con los mismos parámetros en cualquier carpeta no me coge el setcookie.

El tema es que cambio el idioma pinchando en la opción español/english que manda por GET es/en y crea la cookie. Como digo, en el raís me va bien y me cambia la cookie pero misteriosamente en cualquier otro directorio no me cambia la cookie (aunque sí el idioma pq va con GET). Claro, aunque me haya cambiado el idioma en ese directorio, la cookie sigue con el idioma que trae del directorio raíz por lo que cuando voy a éste me vuelve a cambiar el idioma.

Código PHP:
<?
$getlanguage
=$_GET['language'];

if(
$getlanguage == "en")
{
    
setcookie("language""en"time()+60*60*24*365);
    
    if (
$path=="")
    {
        require (
"language/english.php");
    }
    
    if (
$path=="../")
    {
        require (
"../language/english.php");
    }
}

if(
$getlanguage == "es")
{
    
setcookie("language""es"time()+60*60*24*365);
    
    if (
$path=="")
    {
        require (
"language/spanish.php");
    }
    
    if (
$path=="../")
    {    
        require (
"../language/spanish.php");
    }
}


if(
$getlanguage == "")
{

if(
$_COOKIE["language"] == "es")
{
    if (
$path=="")
    {
        require (
"language/spanish.php");
    }
    
    if (
$path=="../")
    {    
        require (
"../language/spanish.php");
    }
}

if (
$_COOKIE["language"] == "en")
{
    if (
$path=="")
    {
        require (
"language/english.php");
    }
    
    if (
$path=="../")
    {
        require (
"../language/english.php");
    }
}

if (
$_COOKIE["language"] == "")
{
    
$language $_SERVER['HTTP_ACCEPT_LANGUAGE'];
    
$language substr($language02);
    
    if (
$language=="es")
    {
        
setcookie("language""es"time()+60*60*24*365);
        
        if (
$path=="")
        {
            require (
"language/spanish.php");
        }
        
        if (
$path=="../")
        {    
            require (
"../language/spanish.php");
        }        
    }
    else
    {
        
setcookie("language""en"time()+60*60*24*365);
        
        if (
$path=="")
        {
            require (
"language/english.php");
        }
        
        if (
$path=="../")
        {    
            require (
"../language/english.php");
        }        
    }
}

}