Простая форма обратной связи на php

Рассмотрим создание формы обратной связи на языке php.
Создание формы очень проста и для этого нам понадобится создать всего 1 файл без использования базы данных. Я рекомендую подключать специальный класс для более удобной и безопасной работы с почтой.
Для работы с почтой мы будем использовать одну единственную функцию mail().
Для начала создадим файл contact.php и вставим в него следующий код:

<!DOCTYPE html>
<html lang="ru">
<head>
<title>Web Фишки - Форма обратной связи</title>
</head>
<body>
<form action="contact.php" method="post">
<p>
  <label>Имя:<br></label>
  <input name="name" type="text" size="15" maxlength="15">
</p>
<p>
  <label>E-mail:<br></label>
  <input name="email" type="email" size="32" maxlength="32">
</p>
<p>
  <label>Сообщение:<br></label>
  <textarea name="message"></textarea>
</p>
<p>
  <input type="submit" name="submit" value="Отправить">
</p>

</form>
</body>
</html>
<?php
$to_mail = "pochta@domain.ru"; // Почта получателя, то есть ваша
$subject = "Сообщение из формы обратной связи"; // Заголовок письма
$message = htmlspecialchars($_POST['message']);
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
// Проверим, заполнена ли форма полностью
if ($name == "") {
exit ("Пожалуйста, заполните поле Имя");
} elseif ($email == "") {
exit ("Пожалуйста, заполните поле E-mail");
} elseif ($message == "") {
exit ("Пожалуйста, заполните поле Сообщение");
} else {
// Кодировка текста, в данном примере это кириллица
$headers  = "Content-type: text/html; charset=windows-1251 \r\n";
// Добавим отправителя, чтобы вы смогли ответить
$headers .= "From: ".$name." <".$email.">\r\n";
// И вызываем функцию отправки почты
$send = mail($to_mail, $subject, $message, $headers);
// Проверим операцию на успешность
if ($send == 'TRUE') {
  echo "Ваше обращение успешно отправлено.";
} else {
  exit('Произошла ошибка.');
}
}
?>

Во избежании спамовых сообщении, рекумендую использовать капчу. Вот и всё.

Комменарии

Написать комментарий

Примечание: HTML разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Защита от роботов