exacto, porque sólo revisas si se pide el cambio de idioma, no todo lo demás, +karma por aplicar correctamente las indicaciones, saludos
aunque el
isset($_SESSION['languages']) está demás, no hace falta porque si la variable de sesión fue establecida, es innecesario re-establecerla, simplemente verifica si no está establecida y aplicas lo del bloque else:
Código PHP:
Ver original<?php
require ('idiomas.php');
if (isset($_GET['languages'])){ $idioma = $_GET['languages'];
$_SESSION['languages'] = $idioma;
}elseif (isset($_POST['languages'])){ $idioma = $_POST['languages'];
$_SESSION['languages'] = $idioma;
}elseif (! isset($_SESSION['languages'])){ //fíjate en el NOT (!) $lang = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
$languages = explode( ",", $languages ); $idioma = $languages[0];
$_SESSION['languages'] = $idioma; //aquí aplicamos
}
?>
y si optimizamos el código que se repite:
Código PHP:
Ver original<?php
require ('idiomas.php');
$idioma;
if (isset($_GET['languages'])){ $idioma = $_GET['languages'];
}elseif (isset($_POST['languages'])){ $idioma = $_POST['languages'];
}elseif (! isset($_SESSION['languages'])){ //fíjate en el NOT (!) $lang = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
$languages = explode( ",", $languages ); $idioma = $languages[0];
}
//aquí aplicamos:
$_SESSION['languages'] = $idioma;
?>