Моя контактная форма в php не отправляет сообщение на почту, поэтому мне нужно знать, в чем проблема. Здесь вы найдете html-форму с именем файла: index.php и форма php с именем: mail.php
<form class = "form" action = "mail.php" method = "post" name = "contactform">
<input class = "name" type = "text" placeholder = "Name" name = "name">
<input class = "email" type = "email" placeholder = "Email" name = "email" >
<input class = "phone" type = "text" placeholder = "Phone No:" name = "phone">
<textarea class = "message" id = "message" cols = "30" rows = "10" placeholder = "Message"name = "message" ></textarea>
<input class = "submit-btn" type = "submit" value = "Submit">
</form>
<?php
if (isset($_POST['submit']) ) {
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$from = 'From: phone';
$to = '[email protected]';
$subject = 'message';
$body = "From: $name\n E-Mail: $email\n Phone Number: $phone\n Message:\n $message";
if (isset($_POST['submit'])) {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been submitted</p>';
} else {
echo '<p>Something went wrong, please try again!</p>';
}
}
}
?>






<input class = "submit-btn" name='submit' type = "submit" value = "Submit">
Вам не хватает имени, чтобы добавить кнопку отправки, поэтому ваше дело if (isset($_POST['submit']) ) { терпит неудачу
вам не нужно указывать имя в теге формы, чтобы удалить класс:
<form action = "mail.php" method = "post">
Первое название кнопки отправки отсутствует, пожалуйста, используйте
<input class = "submit-btn" type = "submit" value = "Submit" name = "submit">
Вторая команда, которую вы отправляете по электронной почте ( mail ($to, $subject, $body, $from) ), не имеет правильного заголовка электронного письма. Вставьте свой $from
пожалуйста, определите заголовок со следующими параметрами
$email_headers = "From: ".$from_name." <".$from_email.">\r\n".
"Reply-To: ".$reply_to."\r\n" ;
if ($cc) $email_headers. = "Cc: ".$cc."\r\n";
if ($bcc) $email_headers. = "Bcc: ".$bcc."\r\n";
$email_headers. = "MIME-Version: 1.0" . "\r\n" .
"Content-type: text/html; charset=UTF-8" . "\r\n";
$email_body=$_POST['message'];
а затем отправить его с помощью
mail($to, $subject, $email_body, $email_headers);
И тогда ваша электронная почта должна быть отправлена правильно.
где email_body в определенном коде?
Моя ошибка ..., в $email_body просто поместите содержимое вашего сообщения, например $email_body=$_POST['message'];
Попробуйте добавить $email в $from. Вот аналогичная контактная форма, которая работает: курсыweb.net/php-mysql/простой-контакт-форма-скрипт