Form Mail Php invia sempre anche mail vuote

Ciao a tutti... come da titolo ho creato una pagina mail.php ma forse ho sbagliato qualcosa, vengono inviate email anche con il form vuoto... basta cliccare il tasto invia per ritrovarmi in posta una mail vuota... vi scrivo cosa ho fatto per capire dove pu essere l'errore... grazie mille.


HTML

<section id="contact" class="main style3 secondary">
<div class="content container">
<header>
<font color="#036795">
<h2>Per dirmi Ciao.</h2>
<p>Insomma, per contattarmi direttamente si pu&oacute; scrivere qui sotto.</p>
</font>
</header>
<div class="box container 75%">

<!-- Contact Form -->
<form method="post" action="mail.php">
<div class="row 50%">
<div class="6u">
<input type="text" name="name" placeholder="Nome" />
</div>
<div class="6u">
<input type="email" name="email" placeholder="Email" />
</div>
</div>
<div class="row 50%">
<div class="12u">
<textarea name="message" placeholder="Messaggio" rows="6">
</textarea>
</div>
</div>
<div class="row">
<div class="12u">
<ul class="actions">
<li><input type="submit" value="Scrivimi" />
</li>
</ul>
</div>
</div>
</form>

</div>
</div>
</section>


PHP

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];

$formcontent="
----------
Da $name
----------

$message

----------
Email mittente: $email
----------
";
$recipient = "luca.koopo@gmail.com";
$subject = "<< Dal Sito >>";
$mailheader = "From: $name";

mail($recipient, $subject, $formcontent, $mailheader) or die("Errore! Forse non hai inserito qualche dato");
echo "<table width='490' border='0' cellspacing='30' align='center'>
<tr>
<td align='center'><font face='Tahoma, Geneva, sans-serif' size='4' ><p> MESSAGGIO INVIATO CON SUCCESSO!</font></p>" . "<a href='index.html'><p><font face='Tahoma, Geneva, sans-serif' size='3' color='#de5c5c'>- PER TORNARE INDIETRO -</font></p></a></td>
</tr>
</table>";

exit;


?>


Grazie a tutti...

inviato un anno fa
Koopo
modificato un anno fa
X 0 X

Ciao Prova con questo,

<?php
 
if(isset($_POST['email'])) {
 
     
 
    // EDIT THE 2 LINES BELOW AS REQUIRED
 
    $email_to = "luca.koopo@gmail.com";
 
    $email_subject = "Dal Sito";
 
     
 
     
 
    function died($error) {
 
        // your error code can go here
 
        echo "Siamo Spiacenti ma la Sua Richiesta non e stata inviata per i seguenti motivi. ";
 
        echo "Errori Riportati di Seguito.<br /><br />";
 
        echo $error."<br /><br />";
 
        echo "Torna Indietro e Verifica i Campi Segnalati.<br /><br />";
 
        die();
 
    }
 
     
 
    // validation expected data exists
 
    if(!isset($_POST['name']) ||
 
        died('We are sorry, but there appears to be a problem with the form you submitted.');      
 
    }
 
     
 
    $first_name = $_POST['name']; // required
 
    $email_from = $_POST['email']; // required
 
 
    $error_message = "";
 
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
 
  if(!preg_match($email_exp,$email_from)) {
 
    $error_message .= 'Indirizzo Email da lei inserito non  Valido.<br />';
 
  }
 
    $string_exp = "/^[A-Za-z .'-]+$/";
 
  if(!preg_match($string_exp,$name)) {
 
    $error_message .= 'Il Nome immesso non  Valido.<br />';
 
  }
 
 
  if(strlen($error_message) > 0) {
 
    died($error_message);
 
  }
 
    $email_message = "Dal Sito\n\n";
 
     
 
    function clean_string($string) {
 
      $bad = array("content-type","bcc:","to:","cc:","href");
 
      return str_replace($bad,"",$string);
 
    }

    
    $email_message .= "Nome e Cognome: ".clean_string($name)."\n";
 
    $email_message .= "Email: ".clean_string($email_from)."\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);
 
?>

Spero di esserti stato di aiuto... fammi sapere... Good Work!!!

risposto un anno fa
John_Pakkuto
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda