Ho riprovato il codice e ti ripeto di scrivere così :
<?php
if($_POST['nome']==""){
echo "Non hai inserito il nome.
";
$ctrl['nome']=1;
}
else {
$ctrl['nome']=0;
}
?>

<?php
if($_POST['cognome']==""){
echo "Non hai inserito il tuo cognome.
";
$ctrl['cognome']=1;
}
else {
$ctrl['cognome']=0;
}
?>


<?php
# controllo validità mail
if(ereg("^[a-z0-9][_.a-z0-9-]+@([a-z0-9][0-9a-z-]+.)+([a-z]{2,4})",$_POST['email']))
{
$ctrl['email']=0;
}
elseif($_POST['email'] == "")
{
echo "Non hai inserito il tuo indirizzo email.";
$ctrl['email']=1;
}

else{
echo "Indirizzo email non valido";
$ctrl['email']=1;
}
?>

Cosa cambia ??? Semplice invece di fare $_POST[email] si fa $_POST['email']....ed infatti funge a me....