@vetalsd2
front-end Trainee

Почему не работает форма обратной связи?

1) Не работает форма обратной связи.
Есть сайт на вордпрессе, выброшенный на бесплатный хостинг. php mail на хостинге работает. Ранее другим скриптом на этом хостинге удавалось добиться отсылки.
Ошибка в консоли "Failed to load resource: the server responded with a status of 404 (Not Found) ../feedback.php" (видимо, не находит его.)
Если в ajax url ввожу "https://formspree.io/your@email.com", то с помощью этого сервиса письма приходят.
feedback.php находится в корневой паке темы(вместе с header.php, index.php и т.д.)
2) и второй вопрос: если использовать formspree.io, то все работает, но не выводится alert с аякс-срипта .done(function(){
alert('Спасибо за сообщение');

Ну а вообше, в идеале, чтоб это сообщение вылазило в div class="message_result">(вместо "Заполните форму")

HTML:
<form class="contact_form" id="contactForm" method="POST">
						<div class="message_result">
							Заполните форму
						</div>
						<label for="inputName">
							<span>Ваше имя:</span><br>
							<input id="inputName" type="text" name="name" placeholder="Имя">
						</label>
						<label for="inputEmail">
							<span>Ваш E-mail:</span><br>
							<input id="inputEmail" type="email" name="email" placeholder="E-mail">
						</label>
						<label for="textArea">
							<span>Ваше сообщение:</span><br>
							<textarea id="textArea" placeholder="placeholder" name="message" cols="30" rows="5"></textarea>
						</label>
						<button>Отправить</button>
					</form>

JS:
$('#contactForm').submit(function() {
		$.ajax({
			type: 'POST',
			url: 'feedback.php',
			data: $(this).serialize()
		}).done(function(){
			alert('Спасибо за сообщение');
		});
		return false;
	});

PHP:
<?php
	$recepient = "xxx@gmail.com";
	$sitename = "Название  сайта";

	$name = trim($_POST['name']);
	$email = trim($_POST['email']);
	$message = trim($_POST['message']);
	$send = "Ім'я: $name \nE-mail: $email \nСообщение: $message";

	$pagetitle = "Новое сообщение с сайта";
	mail($recepient, $pagetitle, $send, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient");
?>

Буду благодарен за исчерпывающий ответ!
  • Вопрос задан
  • 369 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы