Hai capito cosa fa, ma non trovi qual'è il problema?
Tu includi prima i file delle traduzioni, e poi controlli il valore passato in post.
E poi c'è un altro problema, nel form imposti la stessa lingua che stati usando.
Prova così
Codice PHP:
<?php
if (!isset( $_SESSION['lingua']))
{
// verifica che la variabile $_SESSION non sia vuota
$_SESSION['lingua'] = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
//seleziona il codice relativo alla lingua di default, nel mio caso è it
}
<?php
if(isset($_POST['lang'])) {
if($_POST['lang']=="it)
$_SESSION['lingua'] = "en";
else
$_SESSION['lingua'] = "it";
}
?>
if ($_SESSION['lingua'] == "en")
{
include('include_lingua_en.php');
}
if ($_SESSION['lingua'] == "it")
{
include('include_lingua_it.php');
}
if ($_SESSION['lingua'] != "it" && $_SESSION['lingua'] != "en")
{
include('include_lingua_en.php');
}
?>
<?php
<form enctype=\"multipart/form-data\" name=\"form\" action=\"$PHP_SELF\" method=\"post\">
<input type=\"hidden\" name=\"lang\" value=\"en\"/>
<input name=\"ENG\" type=\"image\" src=\"flag_eng.png\" alt=\"ENG\" title=\"ENG\" width=\"78\" height=\"38\">
</form>
?>