Задать вопрос
@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");
?>

Буду благодарен за исчерпывающий ответ!
  • Вопрос задан
  • 370 просмотров
Подписаться 1 Оценить 6 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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