Non ho capito la domanda. Non ho tre versioni del sito statico, ma solo una.
Ogi variabile di testo viene recuperata dal proprio file di lingua. In base ai link a forma di bandierina imposto la sessione della lingua; in base alla sessione includo i diversi file che contengono le variabili di testo scritte nella lingua opportuna.
Quello che non capisco è come fare ad impostare la sessione. Il link è cosi
set_language?lang=eng
Il file set_language.php è cosi
Codice PHP:
ini_set('session.save_path','/tmp');
session_start();
if ($_GET['lang'] != "") {
switch ($_GET['lang']) {
case 'eng':
session_destroy();
$_SESSION['language'] = "english";
break;
case 'ger':
session_destroy();
$_SESSION['language'] = "german";
break;
default:
session_destroy();
$_SESSION['language'] = "italian";
}
header("Location: ../index.php"); break;
} else { // se lingua è vuoto imposto italiano
session_destroy();
$_SESSION['language'] = "italian";
header("Location: ../index.php"); break;
}
Se imposto un echo della session per verificare se viene settata, funziona.
Ma se la sessione la stampo nella index, dopo che viene fatto il redirect, è vuota. Come mai?
Se sbaglio anche metodo accetto altri consigli.
N.B.
- Al primo ingresso è sempre la lingua italiana che rimane come default. C'è da dire che interpello set_language.php solo quando clicco sulle bandiere (quindi da nessuna parte imposto l'italiano come default)
- Ogni link interno al sito non passa mai la variabile ?lang= quindi è sempre la SESSION impostata che comanda.
Grazie