Volevo dire che quando usi else, dopo hai sia { sia un'istruzione. Tu, dopo la else, hai una condizione che il parser analizza come un'istruzione seguita da {


Codice PHP:
if (condizione) {
  
codice
} else {
  if (
condizione) {
    
codice
  
}

o
Codice PHP:
if (condizione) {
  
codice
} elseif (condizione) {
  
codice

codice:
if (! $name || ! $email || ! $phone || ! $message) {
    $test = false;
    echo "<p><strong>Tutti i campi del modulo sono obbligatori!</strong></p>";
} else {
  if (strlen ( $name ) >= 100 || strlen ( $email ) >= 100 || strlen ( $phone ) >= 100 || strlen ( $message ) >= 5000) {
    $test = false;
    echo "<p><strong>Il messaggio e' troppo lungo.</strong></p>";
  } else { 
    if (! preg_match ( '/^[A-Za-z \'-]+$/i', $name )) {
      $test = false; 
      echo "<p><strong>Il nome contiene caratteri non ammessi .</strong></p>";
    } else { 
      if (! filter_var ( $email, FILTER_VALIDATE_EMAIL )) {
        $test = false;
        echo "<p><strong>Indirizzo email non corretto.</strong></p>";
      } else { 
       if (! is_numeric ( $phone )) {
        $test = false;
        echo "<p><strong>Numero di telefono non corretto.</strong></p>";
       }  
      }
    }
  }
}