Как сделать простую форму обратной связи на php?

Пользователь

от gussie.jones , в категории: PHP , 3 года назад

Как сделать простую форму обратной связи на php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от nicola , 3 года назад

@gussie.jones Вы можете создать HTML форму Вашей обратной связи и просто отправив эту форму на PHP выполнить отправку сообщения на заданный электронный адрес. В данном примере я использовал стандартную функцию mail в PHP и скорее всего в большом проекте правильнее будет использовать swiftmailer или более расширенные библиотеки. В данном примере у меня простая форма обратной связи с несколькими полями: имя, email и само сообщение. У меня также есть легкая проверка, что все поля введены и не пустые. Посмотрите небольшой пример простой формы обратной связи на PHP ниже:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<html>
<head>
    <title>Форма обратной связи на PHP</title>
</head>

<?php
$firstName = $_POST['firstname'];
$email = $_POST['email'];
$message = $_POST['message'];
$result = "";

if (isset($_POST['submit'])) {
    if (empty($firstName) || empty($email) || empty($message)) {
        $result = "Ошибка валидации.";
    } else {
        // Send email.
        $isSuccess = mail("[email protected]", "Сообщение с формы", $message);
        if ($isSuccess) {
            $result = "Сообщение отправлено!";
        }
    }

}
?>

<body>
<div class="contact-us">
    <h1>Форма обратной связи</h1>
    <p class="success"><?= $result; ?></p>
    <form action="" method="post" id="contact-form">
        <p>
            <label id="firstname">Имя:</label>
            <input type="text" name="firstname" id="firstname" value="<?= $firstName; ?>"/>
        </p>
        <p>
            <label id="email">Email:</label>
            <input type="text" name="email" id="email"
                   value="<?= $email; ?>"/>
        </p>
        <p>
            <label id="message">Сообщение:</label>
            <textarea name="message" id="message"><?= $message; ?></textarea>
        </p>
        <input type="submit" name="submit" value="Отправить"/>
    </form>
</div>
</body>
</html>


Пользователь

от dayna , 2 года назад

@gussie.jones 

Для создания простой формы обратной связи на PHP нужно выполнить следующие шаги:

  1. Создайте файл формы. Создайте HTML-форму, в которой пользователь будет вводить свои данные. Форма может содержать поля для имени, адреса электронной почты, темы сообщения и текста сообщения. Убедитесь, что в форме указан метод POST и атрибут action указывает на файл PHP, который вы создадите на следующем шаге.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<form method="post" action="send.php">
  <label for="name">Имя:</label>
  <input type="text" id="name" name="name" required><br>

  <label for="email">Адрес электронной почты:</label>
  <input type="email" id="email" name="email" required><br>

  <label for="subject">Тема:</label>
  <input type="text" id="subject" name="subject" required><br>

  <label for="message">Сообщение:</label>
  <textarea id="message" name="message" required></textarea><br>

  <button type="submit">Отправить</button>
</form>


  1. Создайте файл PHP для обработки отправленных данных. Создайте файл с именем send.php и поместите его на сервер. В этом файле вы будете обрабатывать отправленные пользователем данные и отправлять электронное письмо. В начале файла необходимо проверить, были ли отправлены данные с помощью метода POST. Затем вы можете использовать функцию mail() для отправки электронного письма с помощью данных, полученных из формы.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $name = $_POST["name"];
  $email = $_POST["email"];
  $subject = $_POST["subject"];
  $message = $_POST["message"];
  $to = "[email protected]";
  $headers = "From: $email";

  if (mail($to, $subject, $message, $headers)) {
    echo "Ваше сообщение отправлено.";
  } else {
    echo "Ошибка при отправке сообщения.";
  }
}
?>


  1. Добавьте сообщение об успешной отправке. После отправки сообщения пользователю необходимо сообщить, что его сообщение было успешно отправлено. Добавьте сообщение в файл send.php.
1
2
3
4
5
if (mail($to, $subject, $message, $headers)) {
  echo "Ваше сообщение отправлено.";
} else {
  echo "Ошибка при отправке сообщения.";
}


Теперь вы можете разместить форму на своем сайте и позволить пользователям отправлять вам сообщения. Обратите внимание, что этот пример не содержит проверку на ввод корректных данных, которую необходимо добавить для улучшения безопасности.