Hola a todos.
Intento hacer una pagina con php en VARIOS IDIOMAS

.
El código me funciona perfectamente

excepto cuando, utilizando el menú, regreso a la página de INICIO (index.php), entonces el idioma seleccionado (lo selecciono con las típicas banderitas) se deselecciona y vuelve al idioma por defecto ('es').
Me gustaría que se pudiera navegar por cualquier página de mi web en el idioma seleccionado, y que éste no se deseleccionara hasta que se lo indique el usuario, clickeando en la banderita correspondiente.
A ver si alguno de vosotros me indica una sugerencia. Yo ya no sé qué intentar. No sé dónde pueda estar el fallo.
Este es el código que utilizo:
Código PHP:
session_start();
$_SESSION['lang'] = $_COOKIE['lang'];
if(isset($_GET['lang'])){ // este es el ? que va con las banderitas y que puede valer "en" o "es"
$_SESSION['lang'] = $_GET['lang'];
setcookie("lang", $_SESSION['lang'], time() + (84600 * 30));
}
if (empty($_SESSION['lang'])) {
$_SESSION['lang'] = 'es'; // el valor por defecto
}
@include_once($_SESSION['lang']."_idioma".EX); // los idiomas los tengo en 2 archivos php "es_idioma.php" y "en_idioma.php".
// EX es una constante que equivale a la extensión "php".
Y este es el código que pone las banderitas:
Código PHP:
<a href="index.php?lang=<?php echo 'es'; ?>"><img border="0" src="spa.gif"></a> <a href="index.php?lang=<?php echo 'en'; ?>"><img border="0" src="eng.gif"></a>
Saludos a todos