Ciao a tutti;
Ho una pagina con questo codice:

aggiorna.php
Codice PHP:
session_start();
if (!isset(
$_SESSION['id']))   {
     echo 
"non sei loggato";
}else{
    include (
"aggiornamento1.php");
    include (
"aggiornamento2.php");
    include (
"aggiornamento3.php");

Ognuna delle pagine richiamate aggiorna una determinata sezione ed ognuna inizia con lo stesso identico codice... ossia session_start() e il controllo della sessione attiva.
Credevo che il meccanismo fosse corretto, ma dal richiamo del terzo file mi da questo messaggio d'errore: "A session had already been started...."
Quello che mi chiedo è:
1- perchè sui primi file non mi da l'errore? C'entra la bufferizzazione dell'invio dell'header?
2- se devo eliminare il controllo sulla sessione dalle pagine incluse, come posso evitare che qualcuno richiami direttamente le paginein questione da riga di comando?