il codice originale non sarebbe quello... ho inserito un sunto facendo in effetti un errore.

Ecco l'originale:
una pagina è index.php
codice:
<?php
include 'classi/session.php';
include 'testi/testi.php';
include 'classi/main.class.php';
$page = new main();
#------------------------------#
if(($_SESSION['lang']) == 'it'){
        $page->menu = 'configurazioni/it_menu.ini';
    } 
if(($_SESSION['lang']) == 'gb'){
        $page->menu = 'configurazioni/gb_menu.ini';
    } 
#------------------------------#
$page->content .= '<h1>'.$titolo_1[$idioma].'</h1>

';
#------------------------------#	
    $page->message = '';
#------------------------------#
include 'template/' . TEMPLATE_NAME . '/template.php';
?>
la pagina due del sito è praticamente uguale alla prima nella struttura

i files che richiamano sono:
session.php:

codice:
<?php
session_start();
if(!isset($_SESSION['lang'])){
	$_SESSION['lang'] = 'it';
}
if(isset ($_POST['it'])){
	$_SESSION['lang'] = 'it';
}	
if(isset ($_POST['gb'])){
    	$_SESSION['lang'] = 'gb';
}
#------------------------------#
# gestore multilingua testi    #
#------------------------------#
$lingua = $_SESSION['lang'];
switch($lingua){
	case 'it':
		$idioma = 0;
		break;
        
	case 'gb':
		$idioma = 1;
		break;
}
#------------------------------#
?>
e main.class.php:

codice:
<?php

class Main{
    public function __construct(){
    }
    public function _menu_principale($menu_file){
    $nav = file($menu_file);
    $page = basename($_SERVER['PHP_SELF']);
    foreach($nav as $line){
        $link = explode(":", $line);
	echo '
        <div id="menu"> 
	<form method="post" action="'.$link[1].'"> 
	<button type="submit"'; 
        if(trim($link[1]) == $page){
            echo' disabled="disabled" >';
	}
	else{
            echo '>';
	}
	echo ''.$link[0].'
	</button>
	</form>
	</div>
	';
	}
    }
    public function _menu_lingua(){
        $nav = file('configurazioni/lingue.ini');
        echo '<form method="post">';
        foreach($nav as $line){	
            $link = explode(":", $line);
            echo '
            <div id="menu">
            <button name='.$link[1].' type="submit"';
            if(trim($link[1]) == ($_SESSION['lang'])){
                echo' disabled="disabled" >';
            }
            else{
		echo '>';
            }
            echo ''.$link[0].'
            [img]immagini/'.$link[1].'.png[/img]
            </button>
            </div>';
        }
        echo '</form>';
    }
}
?>
altro file che richiama è testi.php che è una semplice raccolta di array dove nel termine 0 c'è il testo in italiano e nel termine 1 la traduzione inglese...

Il sito funziona PERFETTAMENTE in locale .... anche se sicuramente è migliorabile essendo realizzato da un principiante e non da un professionista.

IL PROBLEMA è quando sposto il sito dal locale al host Aruba.
Su Aruba la variabile $_SESSION['lang'] assume valore = 0 e non riesco a capire il motivo.
Ovviamente con quel valore di $SESSION il sito non funziona!

GRAZIE infinite!