Hola DJ, los dos ultimos parámetros de setcookie dan problemas, compruébalo a partir de esta versión comentada para debug:
Código PHP:
<?php
error_reporting(E_ALL);
ini_set("display_errors",1);
//Script en el Index
//require_once('funciones.php');
$lang = (isset($_GET['language'])?htmlentities($_GET['language']):'undefined');
$page = (isset($_GET['pages'])?htmlentities($_GET['pages']):0);
// Verificar el Idioma
if($lang==""){
if($_COOKIE['lan']==""){
$lang = detectarIdioma();
setcookie('lan',$lang);
}
}
else{
setcookie('lan',$lang);
echo "Cookie vale ".$_COOKIE['lan']."<br>";
}
if(isset($_COOKIE['lan'])){
$file = "idiomas/".$_COOKIE['lan'].".php";
$imglang = "_".$_COOKIE['lan'];
//include($file);
}
print_r($_COOKIE);
echo "<h1>Lan vale $lang Cookie lan vale: ".$_COOKIE['lan']."</h1>";
//Script en el archivo funciones.php
function detectarIdioma(){
//revisamos cabecera HTTP_ACCEPT_LANGUAGE
$idiomas = explode(";", $_SERVER['HTTP_ACCEPT_LANGUAGE']);
if(strpos($idiomas[0], "es") !== FALSE){
$idioma = "es";
}
elseif(strpos($idiomas[0], "en") !== FALSE){
$idioma = "en";
}
//Ante cualquier otro idioma devolvemos "es"
if($idioma <> "es" && $idioma <> "en"){
$idioma = "en";
}
return $idioma;
}
?>
saludos