Ciao a tutti ho questo form mail, ma nonostante abbia cercato di mettere tutti i campi "obbligatori e richiesti", basta mettere il numero minimo di caratteri al messaggio e lasciare il resto dei campi vuoti che da comunque messaggio di successo senza errori, dove sbaglio?
Codice PHP:
<?php
if(isset($_POST['email'])) {
$email_to = "miamailsito";
$email_subject = "Website email";
function died($error) {
// error
echo $error."
";
echo "Please go back and fix these errors.
";
die(); }
// validation
if(!isset($_POST['name']) ||
!isset($_POST['surname']) ||
!isset($_POST['azienda']) ||
!isset($_POST['comments']) ) {
died('Siamo spiacenti, ma si sono verificati degli errori.');
}
$first_name = $_POST['name'];
$last_name = $_POST['surname'];
$azienda = $_POST['azienda'];
$email_from = $_POST['email'];
$comments = $_POST['comments'];
$error_message = "";
$string_exp = "^[a-z .'-]+$";
if(preg_match('/$string_exp/i',$first_name)) {
$error_message .= 'Il Nome inserito non è valido.
'; }
if(preg_match('/$string_exp/i',$last_name)) {
$error_message .= 'Il Cognome inserito non è vaildo.
'; }
if(preg_match('/$string_exp/i',$azienda)) {
$error_message .= "Il nome dell'Azienda inserito non è valido.
"; }
$email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
if(($email_from != "") && preg_match('/$email_exp/i',$email_from)) {
//CHECKED IF THE EMAIL EXISTS
$error_message .= "L'indirizzo Email inserito non è valido.
"; }
if(strlen($comments) < 5) {
$error_message .= 'Il Messaggio inserito non è valido.
'; }
if(strlen($error_message) > 0) {
died($error_message); }
$email_message = "Dettagli.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string); }
$email_message .= "Nome: ".clean_string($first_name)."\n";
$email_message .= "Cognome: ".clean_string($last_name)."\n";
$email_message .= "Azienda: ".clean_string($azienda)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Messaggio: ".clean_string($comments)."\n";
// create email headers
$headers = 'From: '.$email_from."\r\n". 'Reply-To: '.$email_from."\r\n" . 'X-Mailer: PHP/' . phpversion(); @mail($email_to, $email_subject, $email_message, $headers); }
?>
<div id="contact"> Messaggio inviato con successo! Riceverete una risposta il più presto possibile. [url="index.php?menu=contattaci"]Clicca qui per inviare un altro messaggio.[/url] </div