Lamento meter mi "cuchara" ajaja, pero, no se supone @maycolalvarez que en caso de no cumplir ninguna (vamos ya esta definido $_SESSION['languages']) se sobre escribirá $_SESSION['languages'] como "vacía" ya que la variable $idioma esta vacía (no entro en ninguna condicional, por lo tanto no se define su valor)?
Yo lo haría mas bien de esta forma...
Código PHP:
Ver originalrequire ('idiomas.php');
if (!isset($_SESSION['languages'])) { $idioma = '';
if (isset($_GET['languages']) || isset($_POST['languages'])) { $idioma = isset($_GET['languages']) ?
$_GET['languages'] : $_POST['languages']; }
$lang = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
$languages = explode( ",", $languages ); $idioma = $languages[0];
}
$_SESSION['languages'] = $idioma;
}