Я пытаюсь заставить мою контактную форму работать, но когда я заполняю форму, она выбрасывает сервер, не отвечающий на ошибку.
Вы можете просмотреть JSFiddle здесь: JS & HTML-код контактной формы
Код contact_me.php:
<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
// check if fields passed are empty
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['phone']) ||
empty($_POST['message']) ||
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo "No arguments Provided!";
return false;
}
$name = $_POST['name'];
$email_address = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
// create email body and send it
$to = '[email protected]'; // put your email
$email_subject = "Contact form submitted by: $name";
$email_body = "You have received a new message. \n\n".
" Here are the details:\n \nName: $name \n ".
"Email: $email_address\n Phone: $phone\n Message: \n $message";
$headers = "From: [email protected]\n";
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
return true;
?>
Я не вижу ошибок ни в одном коде, поэтому я не совсем уверен, в чем проблема.
Когда я посетил вашу страницу, я заметил, что в форме отсутствуют следующие данные:
Решение:
method="post"
внутри формы.<input type="text" name="name">
Ваш PHP содержит переменные POST, а POST использует атрибут name для обработки данных формы.
Sidenote: Ваш первоначальный вопрос не содержал отчетов об ошибках, которые следует использовать для проверки ошибок.
добавлять Отчет об ошибках в начало вашего файла (ов), который поможет найти ошибки.
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
Примечание: Отчеты об ошибках должны выполняться только на стадии подготовки, а не на производстве.
Других решений пока нет …