In questi giorni ho postato una serie di messaggi relativi al funzionamento di un 'dannato' sito multilingue, ma non ho trovato persone in grado di aiutarmi.
Ora ho provato a 'semplificare' il sito originale con soli tre files per trovare meglio l'errore.
La prima domanda è se questo modo di programmare è corretto...

SPIEGAZIONE A SEGUIRE

0.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';
}
if(isset ($_POST['from'])){
	$from = $_POST['from'];
header("Location: $from");
die;
}
?>
1.php
codice:
<?php
include '0.php';
if($_SESSION['lang']== 'it')
{
echo'pagina 1
';
}
if($_SESSION['lang']== 'gb')
{
echo'page 1
';
}
$from = basename($_SERVER['PHP_SELF']);
?>
<form method="post" action="0.php"> 
<input type="hidden" name="from" value="<?php echo $from;?>">
<button type="submit" name="it"
<?php 
        if(($_SESSION['lang']) == 'it'){
          ?>disabled="disabled" ><?php	
        }
	else{
          ?> ><?php
	}	
?>it
</button>

<button type="submit" name="gb"
<?php 
        if(($_SESSION['lang']) == 'gb'){
          ?>disabled="disabled" ><?php	
        }
	else{
          ?>><?php
	}	
?>gb
</button>
</form>
<form method="post" action="2.php"> 
<input type="submit" name="invio1" value="pag.2">
</form>
2.php ((praticamente uguale a 1.php))
codice:
<?php
include '0.php';
if($_SESSION['lang']== 'it')
{
echo'pagina 2
';
}
if($_SESSION['lang']== 'gb')
{
echo'page 2
';
}
$from = basename($_SERVER['PHP_SELF']);
?>
<form method="post" action="0.php"> 
<input type="hidden" name="from" value="
<?php echo $from;?>
">
<button type="submit" name="it"
<?php 
        if(($_SESSION['lang']) == 'it'){
          ?>disabled="disabled" ><?php	
        }
	else{
          ?>><?php
	}	
?>it
</button>
<button type="submit" name="gb"
<?php 
        if(($_SESSION['lang']) == 'gb'){
          ?>disabled="disabled" ><?php	
        }
	else{
          ?>><?php
	}	
?>gb
</button>
</form>
<form method="post" action="1.php"> 
<input type="submit" name="invio1" value="pag.1">
</form>
SPIEGAZIONE:

Le pagine del sito: 1.php e 2.php contengono tre pulsanti.
un pulsante serve semplicemente da passare da una pagina all'altra.
gli altri per selezionare la lingua.
se è selezionata la lingua 'it' compare il titolo in italiano e il pulsante 'it' è disattivato.
se si preme il pulsante 'gb' viene visualizzato il testo in inglese.
la pagina 0.php è inclusa in ogni file e serve alla gestione della sessione $_SESSION['lang'].

Ora,con questi tre files che 'racchiudono' il principio di funzionamento del mio sito, sembra funzionare tutto alla perfezione ma dopo qualche salto da una pagina all'altra e da una lingua all'altra il funzionamento si blocca e viene mostrato il messaggio:

Warning: Header may not contain more than a single header, new line detected. in 0.php on line 14

Nella versione 'completa' del sito (parte del codice postato nei miei messaggi di ieri), funzionava tutto alla perfezione in locale (localhost), mentre in rete non funzionava (anche se non venivano visualizzati messaggi di errore).

Grazie per l'aiuto