Я пытался решить эту проблему или найти похожую проблему, но я все еще ломаю голову над этой.
У меня есть HTML-форма, которую я проверяю с помощью функции jQuery, а затем передать его в PHP-скрипт для рассылки.У меня проблема в том, что как только функции запускаются, отправляется дубликат почты, но второе пустое, ни одно из значений данных не передается.
JQuery:
$("#submit").click(function(){
var quit = false;
if(validateName()){
name = validateName();
$("label#name_error").fadeOut(0);
$("label#name_error2").fadeOut(0);
} else if (validateInput('name')){
$("label#name_error").fadeOut(0);
$("label#name_error2").fadeIn(250);
quit = true;
} else {
$("label#name_error").fadeIn(250);
$("label#name_error2").fadeOut(0);
quit = true;
}
// several more validation checks for the other fields follow.
if(quit){
return false;
}
var dataString = "name=" + name + "&email=" + email; //and other fields inserted here
$.ajax({
type: "POST",
url: "bin/MailHandler.php",
data: dataString,
success: function(){
$('.error').fadeOut(0);
$('#contact-form').clearForm();
$('#contact').html("<div class='download-box'><h2>Thanks for contacting us!</h2><p>Someone will be in touch shortly!</p></div>").fadeOut(0).fadeIn(1500);
}
});
return false;
});
Который затем отправляет на PHP (MailHandler.php):
<?php
$to = "email@email.com";
$from = $_REQUEST["email"];
$subject = "Testing the form " . $_REQUEST["name"];
$headers = "From: " . $_REQUEST["email"] . "\r\n" . "Reply-To: " . $_REQUEST["email"];
$messageBody = "";
$messageBody .= $_REQUEST["name"] . "\n";
$messageBody .= $_REQUEST["email"] . "\n";
//and the other fields added similarly.
if (mail($to, $subject, $messageBody, $headers)){
echo ("Mail Sent");
} else {
echo ("Mail Failed");
}
?>
Как только это выполняется, кажется, что все работает правильно, я получаю сообщение об успехеи письмо со всеми правильными данными прибывает.
Через несколько минут приходит второе электронное письмо, но без данных из формы.Все заголовки и значения данных не заполнены.
Я просмотрел код и не могу понять, откуда приходит второе сообщение.Кто-нибудь видит то, что я пропустил ??Любая помощь приветствуется.
Спасибо!