Salve a tutti

3 domande:
(i codici php li posto in fondo alla pagina, sono due, li chiamo A e B per comodità)

1) Il codice A funziona benissimo, ma (a differenza di B, apparentemente identico ) non mi fa visualizzare il messaggio d'errore in caso di mancata compilazione degli spazi!
Cosa c'è che non va?

2) In entrambi i codici il redirect alla pagina principale una volta inviata l'email funziona, vorrei mettere un redirect in caso di errore, per ora in caso di mancata compilazione di uno o più campi la pagina resta ferma a .../send-mail.php (con la differenza che in A spunta una pagina vuota e in B una casella d'errore, sopra una pagina vuota )

3) Come posso far spuntare un messaggio d'errore in caso di mancata compilazione della casella email in forma "xxx@xxx.xx" ?

A)
Codice PHP:
<?php 
// ************Inizio Configurazione*************** 
//Indirizzo emai a cui inviare i msg 
$mailto "admin@blablabla.com"
//Oggetto della mail 
$subject "Contact us"
//Pagina da mostrare dopo l'invio 
$redirect "../index.html"
// fine configurazione
foreach($HTTP_POST_VARS as $key => $value) {

$message .= $key ': ' $value;
$message .= "\n";

}
if (empty(
$_POST[name]) or empty($_POST[email]) or empty($_POST[comments])) {  
echo 
"<script>alert('Error: You didn't complete all headings');</script>"
exit(); 
} else {
@
mail($mailto$subject$message);
header("location: $redirect");
}
?>

B)
Codice PHP:
<?php 
// ************Inizio Configurazione*************** 
//Indirizzo emai a cui inviare i msg 
$mailto "admin@blablabla.com"
//Oggetto della mail 
$subject "OGGETTO DELLA MAIL"
//Pagina da mostrare dopo l'invio 
$redirect "../index.html"
// fine configurazione
foreach($HTTP_POST_VARS as $key => $value) {

$message .= $key ': ' $value;
$message .= "\n";

}
if (empty(
$_POST[nome]) or empty($_POST[cognome]) or empty($_POST[email]) or empty($_POST[contenuto])) {  
echo 
"<script>alert('Errore: non hai completato tutti i campi o non &egrave; stato possibile l invio del messaggio');</script>"
exit(); 
} else {
@
mail($mailto$subject$message);
header("location: $redirect");
}
?>