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 
1setcookie("idioma","es",0);header ("location: idioma.php?a=1");
    break;
    case 
2setcookie("idioma","de",0);header ("location: idioma.php?a=1");
    break;
    case 
3setcookie("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.