Контактная форма не отправляет сообщение

Моя контактная форма в 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>'; 
        }
    }
}
?>

Попробуйте добавить $email в $from. Вот аналогичная контактная форма, которая работает: курсыweb.net/php-mysql/простой-контакт-форма-скрипт

CoursesWeb 24.03.2019 06:40
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
53
3

Ответы 3

<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 в определенном коде?

MahmoOd Saeed 25.03.2019 19:29

Моя ошибка ..., в $email_body просто поместите содержимое вашего сообщения, например $email_body=$_POST['message'];

uxmal 25.03.2019 20:56

Другие вопросы по теме