Per sapere se un campo è stato compilato o meno, devi controllare se è vuoto oppure no con la funzione EMPTY().
Quindi fai lo script come segue:
Codice PHP:
$submitted = $_POST['submitted'];
// il bottone di invio non è stato premuto
// stampo la form
if (!$submitted) {
echo "
<form action=\"xxx.php\" name=\"ciao\" [B]enctype=\"multipart/form-data\"[/B] method=\"POST\">
.....
.....
<input type=\"submit\" [B]id=\"submitted\" name=\"submitted\" [/B] value=\"Invia\">
<input type=\"reset\" value=\"Cancella\">
<input type=\"button\" value=\"Chiudi\" onclick=\"window.close('','xxx.php','')\">
";
/*
non hai bisogno di un campo hidden visto che puoi
associare una variabile al campo submit
metti poi anche l'enctype nella action della form
oppure rischi che qualche variabile si perda
*/
} else {
/*
Il bottone è stato premuto: passi a recuperare le
variabili passate dalla form [aa,bb,cc,dd,ee]
Oltre a recuperarle,togli eventuali
spazi bianchi prima e dopo la stringa
*/
$aa = trim($_POST['aa']);
$bb = trim($_POST['bb']);
$cc = trim($_POST['cc']);
$dd = trim($_POST['dd']);
$ee = trim($_POST['ee']);
// controllo se sono vuote
if (empty($aa) OR empty($bb) OR empty($cc) OR empty($dd) OR empty($ee)) {
echo "
<h3>Spiacente, ma è obbligatorio compilare tutti i campi richiesti!</h3>
<a href=\"javascript:history.back()\">Indietro</a>
"; exit();
}
/*
QUI VA IL RESTO DELLO SCRIPT
*/
}
Naturalmente, ogni campo presente nel controllo di cui sopra, deve essere obbligatorio.
Quelli che non ti interessa se risultano vuoti o meno li togli dalla condizione di quel IF.
Se poi vuoi fare le cose per bene, ti consiglio di filtrare tutti gli input con dei controlli per evitare sia hacking sia caratteri che possono creare problemi.
Il campo dove viene digitato l'indirizzo email andrebbe invece controllato con una regexp per verificarne la validità.... quantomeno a livello sintattico!