Se metti i controlli dopo l'invio della mail non ha molto senso.

Prova una cosa del genere:

Codice PHP:

if ( ! empty($_POST))
{
     foreach (
$_POST as $chiave=>$valore)
     {
           if (
$valore == "")
           {
                 
$validato FALSE;
                 echo 
"Tutti i campi devono essere riempiti.";
                 break;
            }
            
            
$validato TRUE;
     }
 
}

if (
$validato)
{
$testo "Nickname: $nickname 

Ha lavorato in un centro aiuti? 
$centro 

Nome del center: 
$nomecentro 

Ruolo nel center: 
$ruolo 

Candidaura: 

$candidatura 


IP: 
$ip "

mail($destinatario,$oggetto,$testo);