После того, как попытался реализовать форму без перехода в сам обработчик (и без последующего редиректа обратно на сайт) на почту ничего не приходит, да и до этого либо с большой задержкой, либо не приходило вовсе(в спаме ничего нет, хостер говорит, что все разрешено).
Вот код скрипта
<script>
function AjaxFormRequest(result_id,formMain,url) {
jQuery.ajax({
url: url,
type: "POST",
dataType: "html",
data: jQuery("#"+formMain).serialize(),
success: function(response) {
document.getElementById(result_id).innerHTML = response;
},
error: function(response) {
document.getElementById(result_id).innerHTML = " Возникла ошибка при отправке формы. Попробуйте еще раз "; }
});
$(':input','#formMain') .not(':button, :submit, :reset, :hidden') .val('') .removeAttr('checked') .removeAttr('selected'); }
</script>
Вот код формы
<form id="contact-form" method="post" class="form afsana-form" role="form" action="" id="formMain">
<div class="row">
<div class="col-sm-12 form-group">
<input class="form-control afsana-style" id="name" name="your_name" placeholder="Name" type="text" required autofocus />
</div>
<div class="col-sm-12 form-group">
<input class="form-control afsana-style" id="email" name="email" placeholder="Email" type="email" required />
</div>
<div class="col-sm-12 form-group">
<textarea class="form-control" id="message" name="message" placeholder="Message" rows="5"></textarea>
</div>
<div class="col-sm-12 form-group">
<button class="btn btn-primary afsana-btn" type="submit" onclick="AjaxFormRequest('messegeResult', 'formMain', 'subscribe.php')">Submit <i class="ion-arrow-graph-up-right"></i></button>
</div>
</div>
</form>
Вот код обработчика
<?php
if($_POST)
{
$your_name = htmlspecialchars($_POST["your_name"]);
$email = htmlspecialchars($_POST["email"]);
$message = htmlspecialchars($_POST["messages"]);
$myemail = "эмеил получателя";
$your_name = check_input($_POST["your_name"], "Введите ваше имя!");
$email = check_input($_POST["email"], "Введите ваш e-mail!");
$message = check_input($_POST["message"], "Вы забыли написать сообщение!");
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
{
show_error("<br /> Е-mail адрес не существует");
}
$message_to_myemail = "
Имя отправителя: $your_name
E-mail: $email
Текст сообщения: $message
Конец";
$from = "From: $yourname <$email> \r\n Reply-To: $email \r\n";
mail($myemail, $tema, $message_to_myemail, $from);
if ($result){
echo "Cообщение успешно отправленно. Пожалуйста, оставайтесь на связи";
}
}
?>