Codice PHP:
header ("Location: $pagina_grazie"); } else { header ("Location: $pagina_error_condizioni"); } } else { header ("Location:$pagina_error_condizioni"); } } else { header ("Location: $pagina_error_empty"); 
queste veriabili stabiliscono dove reindirizzare l'utente al momento dell'invio del modulo .

se è tutto giusto lo manda a: $pagina_grazie
se no a:
$pagina_error_condizioni

oppure
$pagina_error_empty

io all'inizio della tu pagina per la compilazione del form inserirei la lettura di una variabile passata in get del tipo

Codice PHP:

<?php if(isset($_GET['messaggio'])){

//$_GET['messaggio'] conterrà un valore in base a se ho fatto giusto o se ho sbagliato qualcosa

    
if($_GET['messaggio']=="campivuoti"){  //se il valore è ad esempio la stringa campi vuoti  la pagina darà un messaggio di allerta in javascript dicendo di controllare i campi
        
echo "
        <script type=\"text/javascript\" language=\"javascript\">
        function loadalert () 
        {alert(\"Messaggio non inviato, controlla di aver compilato tutti i campi necessari\")

}

// --End Hiding Here -->

</script>

<body onLoad=\"loadalert()\">
"
;
    }
}

?>
Il punto è che tutto funziona se al posto di usare una pagina diversa per ogni tipo di errore usi semplicemente la stessa pagina del form della mail passando in get una stringa diversa

es :

Codice PHP:

$pagina_grazie
="http://www.tuosito.it/mail.php?messaggio=grazie";

$pagina_error_condizioni="http://www.tuosito.it/mail.php?messaggio=campivuoti"
Morale
io finito lo script di invio della mail richiamo la pagina stessa
e passo un valore in get che la pagina usa per capire se è andato tutto a buon fine e nel caso avvisa il visitatore