Как сделать форму обратной связи на сайте
Форма обратной связи является важным инструментом для взаимодействия с посетителями сайта, позволяя собирать отзывы, предложения и другую информацию. В этом руководстве мы рассмотрим, как создать простую форму обратной связи на вашем сайте, используя HTML, CSS и PHP.
Настройка сервера для PHP
Для выполнения PHP-кода необходим сервер, способный интерпретировать его. Этот сервер обычно называется сервером раздачи. Настройка сервера PHP на вашем компьютере возможна, но для доступа из интернета требуется хостинг.
Если вы используете хостинг для вашего сайта, вероятно, сервер PHP уже настроен.
Создание страницы с формой
Прежде всего, создадим структуру HTML-страницы и добавим необходимые стили и код для формы:
<!DOCTYPE html>
<html>
<head>
<title>Форма обратной связи</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.feedback-form {
width: 500px;
margin: 0 auto;
}
.feedback-form label {
display: block;
margin-bottom: 10px;
}
.feedback-form input,
.feedback-form textarea {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
}
.feedback-form button {
margin-top: 20px;
background-color: #007bff;
color: #fff;
padding: 10px 20px;
border: none;
cursor: pointer;
}
</style>
</head>
<body>
<div class="feedback-form">
<h1>Форма обратной связи</h1>
<form action="/post.php" method="post" name="form">
<input type="text" name="name" placeholder="Ваше имя">
<input type="email" name="email" placeholder="Ваш email">
<textarea name="message" placeholder="Ваше сообщение"></textarea>
<button type="submit">Отправить</button>
</form>
</div>
</body>
</html>
Пишем обработчик формы на PHP
Когда мы заполним и отправим форму на нашей странице, произойдёт следующее:
- Браузер соберёт введённые нами данные и скомпонует таким образом, чтобы их можно было передать в программу на PHP. Как бы упакует в посылку.
- В нашей PHP-программе мы сможем получить доступ к этим данным, как бы засосать их в память и хранить в переменных. Можно представить, что мы распакуем посылку и сможем пользоваться её содержимым.
- Скрипт PHP что-то сделает с полученными данными, а потом выплюнет пользователю какой-то ответ. Этот ответ будет отображён в виде веб-страницы в браузере.
Логика работы PHP-программы будет такой:
- Добавить файл post.php в корень вашего сайта.
- Получаем значения переменных из тех данных, которые получил обработчик.
- Готовим сообщение, где укажем все поля в форме.
- Отправляем это сообщение и смотрим на результат выполнения функции отправки.
Если письмо ушло по нужному адресу - пишем, что всё хорошо, если нет - говорим, что что-то не так.
<?php
// Получаем значения переменных из пришедших данных
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
// Формируем сообщение для отправки, в нём мы соберём всё, что ввели в форме
$mes = "Имя: $name\nEmail: $email\nТекст: $message";
// Пытаемся отправить письмо по заданному адресу
$send = mail($email, 'Сообщение с формы обратной связи', $mes);
// Если отправка прошла успешно - так и пишем
if ($send == 'true') {echo "Сообщение отправлено";}
// Если письмо не ушло - выводим сообщение
else {echo "Ой, что-то пошло не так";}
?>