no se cual es tu problema, pero cuando yo envio variables de esta forma:
Código PHP:
<select onchange="document.location = '<?=$_SERVER['PHP_SELF']?>?idioma=' + this.value">
osea con:
<?=$_SERVER['PHP_SELF']?>
despues las recupero con POST:
Código PHP:
if (isset($_POST['idioma'])) {
y tu lo haces con get:
Código PHP:
if(isset($_GET['idioma'])) {
no se si sera la solucion y a lo mejor ya lo has intentado, pero sino prueba.