Note that there are some explanatory texts on larger screens.

plurals
  1. POPHP mail() sends 2 copies
    text
    copied!<p>I have this problem with my contact form. When I submit the form I receive 2 identical emails in my box.</p> <p>Im using JS to check the form for errors and then simple PHP mail() function to send the email.</p> <p>Here is the PHP code:</p> <pre><code>&lt;?php $from = Trim(stripslashes($_POST['email'])); $to = "myemail@gmail.com"; $subject = "Contact Form"; $name = Trim(stripslashes($_POST['name'])); $email = Trim(stripslashes($_POST['email'])); $number = Trim(stripslashes($_POST['number'])); $message = Trim(stripslashes($_POST['message'])); $body = ""; $body .= "Name: "; $body .= $name; $body .= "\n\n"; $body .= "E-mail: "; $body .= $email; $body .= "\n\n"; $body .= "Telephone Number: "; $body .= $number; $body .= "\n\n"; $body .= "Message: "; $body .= $message; $body .= "\n\n"; $success = mail($to, $subject, $body, "From: &lt;$from&gt;" . "\r\n" . "Reply-to: &lt;$from&gt;" . "\r\n" . "Content-type: text; charset=utf-8"); ?&gt; </code></pre> <p>And here is the JS:</p> <pre><code>$(".submit").click(function() { var name = $("input[name=name]").val(); var email = $("input[name=email]").val(); var number = $("input[name=number]").val(); var message = $("textarea[name=message]").val(); if (defaults['name'] == name || name == "") { $(".error").text("Please enter your name!"); return false; } else if (defaults['email'] == email || email == "") { $(".error").text("Please enter your email!"); return false; } else if (defaults['number'] == number || number == "") { $(".error").text("Please enter your number!"); return false; } else if (defaults['message'] == message || message == "") { $(".error").text("Plese enter your message!"); return false; } var dataString = 'name=' + name + '&amp;email=' + email + '&amp;number=' + number + '&amp;message=' + message; $(".error").text("Please wait...").hide().fadeIn("fast"); $.ajax({ type: "POST", url: "contact.php", data: dataString, success: function() { $('#form form').html(""); $('#form form').append("&lt;div id='success'&gt;Your message has been sent! Thank you&lt;/div&gt;"); } }); return false; }); </code></pre> <p>And here is the HTML form:</p> <pre><code>&lt;form id="contact" method="post" action="#"&gt; &lt;label for="name"&gt;Name:&lt;/label&gt; &lt;input type="text" name="name" required tabindex="1"&gt; &lt;label for="email"&gt;Email adress:&lt;/label&gt; &lt;input type="text" name="email" required tabindex="2"&gt; &lt;label for="number"&gt;Tel. number:&lt;/label&gt; &lt;input type="text" name="number" tabindex="3"&gt; &lt;label for="message"&gt;Your message:&lt;/label&gt; &lt;textarea name="message" rows="10" cols="70" required tabindex="4"&gt;&lt;/textarea&gt; &lt;input type="checkbox" id="terms" name="terms" value="terms"&gt;I agree to the &lt;a href="#"&gt;terms&lt;/a&gt; &lt;input type="submit" name="submit" class="submit more-info" tabindex="5" value="Send"&gt; &lt;span class="error"&gt;&lt;/span&gt; &lt;/form&gt; </code></pre> <p>I have been using the same code for all of my contact forms and it worked all right. Could it be hosting/server related issue?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload