Bootstrap PHP форма не отправляет что-то
Я пытаюсь завершить проект, чтобы помочь другу с его сайтом, и я не могу заставить работать форму контакта. Когда я нажимаю "отправить": кажется, что он отправил, но тогда ничего не попадает в почтовый ящик на адрес электронной почты. (Я даже не могу заставить работать Stackru... продолжайте получать сообщение "ваш пост содержит код, который неправильно отформатирован как код")
Ниже представлен сайт: pservices.comuf.com
Ниже приведен код PHP:
<?php
// check if fields passed are empty
if(empty($_POST['name']) ||
empty($_POST['phone']) ||
empty($_POST['email']) ||
empty($_POST['message']) ||
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo "No arguments Provided!";
return false;
}
$name = $_POST['name'];
$phone = $_POST['phone'];
$email_address = $_POST['email'];
$message = $_POST['message'];
// create email body and send it
$to = 'cgramsinjapan@hotmail.com'; // PUT YOUR EMAIL ADDRESS HERE
$email_subject = "P Services Contact Form: $name"; // EDIT THE EMAIL SUBJECT LINE HERE
$email_body = "You have received a new message from your website's contact form.\n\n"."Here are the details:\n\nName: $name\n\nPhone: $phone\n\nEmail: $email_address\n\nMessage:\n$message";
$headers = "From: noreply@your-domain.com\n";
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
return true;
?>
1 ответ
Насколько я вижу после перехода в раздел контактов на сайте, который вы разместили, ни один из элементов вашей формы не содержит атрибута имени.
Например:
<input type="text" class="form-control" id="name" required data-validation-required-message="Please enter your name.">
должно быть изменено на
<input type="text" name="name" class="form-control" id="name" required data-validation-required-message="Please enter your name.">
^^^^^^^^^^^
при добавлении соответствующих атрибутов имени к другим входам формы.
Вы не можете полагаться на id
атрибут один.
Также это
<form name="sentMessage" id="contactForm" novalidate>
отсутствует метод сообщения и действие:
измените это на
<form method="post" action="handler.php" name="sentMessage" id="contactForm" novalidate>
с помощью handler.php
как пример имени файла обработчика почты PHP.
Вы также можете изменить эти две строки:
mail($to,$email_subject,$email_body,$headers);
return true;
чтобы:
if(mail($to,$email_subject,$email_body,$headers)){
echo "Mail sent successfully.";
}
else{ echo "Error.";
}
Если это повторяет успех, то mail()
был успешно отправлен.
Если это повторяет ошибку, то это проблема сервера. Проверьте ваши почтовые журналы.