se non ho capito male il tuo problema è che richiamando la pagina che dovrebbe elaborare i dati in post ottieni tutti quei messaggi perchè il post non c'è.
In questo caso le sessioni non c'entrano, basta che metti tutta la pagina in un if :
cosi se chiami la pagina php e non c'è nulla in $_POST ti rimanda al form da compilare.codice:if(!isset($_POST) || !count($_POST)) { // qui ci metti il tuo codice } else { header('Location:http://url/al/form.html'); }
ciao