Ciao, ho modificato così
Codice PHP:
<?phpinclude 'functions.php';
if ($_POST){
$data['success'] = true; $_POST = multiDimensionalArrayMap('cleanEvilTags', $_POST); $_POST = multiDimensionalArrayMap('cleanData', $_POST); $error = false; $obbligatori = array('name','email','birth');//e tutti quelli che non possono mancare foreach ($$obbligatori as $fieldName) { if( !$_POST[$fieldName] || trim($_POST[$fieldName])=='' ) $data['success'] = false;//al primo campo mancante qualcosa e' stato omesso }
//Qui metti i controlli particolari tipo email o altri formati
if (!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $email)) $data['success'] = false;
$name = $_POST["name"]; $email = $_POST["email"]; $birth = $_POST["birth"]; $prov = $_POST["prov"]; $city = $_POST["city"]; $pho = $_POST["pho"]; $imp = $_POST["imp"];
$comment = $_POST["comment"];
if($data['success'] == true){ $message = "Nome & Cognome: $name<br> Email: $email<br> Messaggio: $comment <br> Data di nascita: $birth <br> Provincia: $prov <br> Città: $city <br> Telefono: $pho <br> Importo: $imp"; $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html; charset=utf-8" . "\r\n"; $headers .= "From: <$emailFrom>" . "\r\n"; mail($emailTo, $emailSubject, $message, $headers); $data['success'] = true; echo json_encode($data);}
}
empty() usato su un array non serve, è per variabili.
Il solo controllo di POST se esiste o meno va bene.
In $obbligatori metti la lista di quelli che non devono mancare.
Poi metti tutti i controlli particolari.
PS
non so come gestisci l'errore lato utente ma cosi' com'e' vedo che senza POST o con errore non torni nulla come json