Salve, sto sperimentando con un sito multilingua e vorrei mettere in una cookie il valore della lingua da utilizzare.
Ma… mi succede questo:
in un file que richiamo in tutte le pagine metto questo:
Codice PHP:
if (isset($_COOKIE["idioma"])) {
define ("IDIOMA", $_COOKIE['idioma']);
} else {
define ("IDIOMA","es");
setcookie("idioma","es",0);
}
Poi con un menu posso cambiare la lingua, in questa pagina, solo con questo codice, controllo il valore della lingua e preparo la cookie. Ricarico la stessa pagina.
Codice PHP:
<?php
session_name("UN_VINITO");
session_start();
include("db.php");
if ($_GET[a]==1){ $ruta = RUTA.IDIOMA."/index.php";header ("location: $ruta");}
switch ($_GET[idioma]) {
case 1: setcookie("idioma","es",0);header ("location: idioma.php?a=1");
break;
case 2: setcookie("idioma","de",0);header ("location: idioma.php?a=1");
break;
case 3: setcookie("idioma","en",0);header ("location: idioma.php?a=1");
break;
default: setcookie("idioma","es",0);
break;
}
?>
Qui se faccio un printe_r delle cookie vedo, per esempio che idioma=de dopo aver passado el if.
Poi ritorno a dov'ero prima e faccio un printe_r vedo un vecchio valore. La cookie impostada a idioma=es non é cambiata.
Cioe il valore della cookie da una pagina all'altra cambia.
Codice PHP:
<?php
session_name("UN_VINITO");
session_start();
require("../function/db.php");
echo "de- ".IDIOMA." - ".$_COOKIE["idioma"]."<br>";
print_r($_COOKIE);
?>
Per me non ha senso e non riesco a risolverlo.
Ringrazio per gli aiuti e/o opinioni.