Mentre il file changelanguage.php diventa:

Codice PHP:

<?php

$lingua 
$_GET['language'];
$url $_GET['url'];

session_start();

if(!isset(
$_SESSION['lingua']))
{
$_SESSION['lingua'] = "Italiano";
}else{
unset(
$_SESSION['lingua']);

$_SESSION['lingua'] = "$lingua";
}

header("Location: $url");

?>
Troppo codice inutile...basta:
Codice PHP:

<?php
$lingua 
$_GET['language'];
$url $_GET['url'];

session_start();

$_SESSION['lingua'] = "$lingua";

header("Location: $url");
?>
Anche, se per evitare problemi, farei:

Codice PHP:

<?php

$lingua 
$_GET['language'];
$url $_GET['url'];
$lingue_disponibili = array("Italiano""Inglese""Tedesco""Francese"); // ad esempio
 
session_start();

if(
in_array($lingua$lingue_disponibili))
{
$_SESSION['lingua'] = "$lingua";
}
header("Location: $url");
?>