Нажимая кнопку «Свяжитесь со мной», вы соглашаетесь с Политикой конфиденциальности
Позвоним в течение 15 минут, обсудим условия и просчитаем стоимость работ
10.07.2023

Форма обратной связи для сайта

Для взаимодействия пользователя с менеджером используется форма обратной связи на сайте. Ее сфера применения достаточно обширна: от получения отзывов до заказа услуг или консультации. Можно установить готовый плагин или разработать самостоятельно с учетом поставленных задач. Рассмотрим, как правильно создать и настроить сервис, чтобы повысить конверсию.

Зачем нужна форма обратной связи

Удобство навигации — один из ключевых параметров, влияющих на лояльность клиента и стимулирование его к целевому действию (покупке, заказе услуги, заполнению анкеты). Всю информацию на сайте разместить невозможно, поэтому одной из целей формы обратной связи выступает запрос информации. Этот сервис позволяет пользователю быстро задать вопрос. Сообщение поступает на почтовый ящик владельца или администратора ресурса.

К другим функциям сервиса можно отнести:

  • анкетирование (для изучения своей целевой аудитории и их предпочтений);
  • оформление заказа;
  • запрос обратного звонка менеджера или узкоспециализированного эксперта.

Форма обратной связи предусматривает 2 варианта коммуникации с пользователем:

  1. Отправку сообщения на почтовый адрес владельца или администратора. Далее происходит обмен письмами через электронную почту или совершается звонок потенциальному клиенту по указанному номеру.
  2. Отправку в систему управления. Запросы обрабатываются на сайте в диалоговом окне по механизму «вопрос — ответ».

Форма может быть размещена:

  • на отдельной странице при наличии в ней множества полей;
  • на странице «Контакты».

Не стоит ее закреплять на главной странице или размещать на каждой странице сайта. Вместо лояльности посетителей можно получить противоположный эффект.

Особенности работы формы обратной связи на html

Для сайтов, не использующих популярные CMS, необходимо самостоятельно разработать форму обратной связи. Классический вариант включает следующие разделы:

  • имя;
  • адрес электронной почты;
  • телефон для связи;
  • адрес сайта;
  • текстовый комментарий.

Данные поля являются обязательными для заполнения, за исключением адреса сайта. При желании можно добавить дополнительные разделы. Не рекомендуем делать объемную форму, поскольку пользователь может потерять интерес и покинуть страницу при длительном заполнении анкеты.

Основные характеристики формы обратной связи предусматривают:

  • защиту от спама;
  • возможность полноценной работы без перезагрузки страницы;
  • отправку заполненных форм на почту или загрузку на специально отведенный ресурс.

Контактная форма, созданная на HTML, должна включать три основных элемента:

  • HTML код (отвечает за структуру сервиса и количество разделов);
  • РНР скрипт (необходим для отправки сведений, указанных в форме, и их обработки);
  • CSS стиль (добавляет цветовое исполнение и эффекты, устанавливает размеры полей).

Почему используется HTML и PHP?

Для формы обратной связи на сайте разработаны различные плагины. Их применение не всегда целесообразно, поскольку:

  • может снизиться производительность сайта;
  • они содержат «ненужные» скрипты, замедляющие загрузку страниц.

Код HTML хорошо гармонирует с популярными платформами по созданию сайтов типа WordPress, Joomla, OpenCart (достаточно его вставить через административный ресурс).

Отправка письма PHP скриптом и обработка информации

Рассмотрим классический пример:

<?php
$to = «email@tut.by»;//почтовый ящик для отправки текстового сообщения
$subject = «Тема «;//Тема
$message = «Message, текстовое сообщение!»;//Сообщение, письмо
$headers = «Content-type: text/plain; charset=utf-8 \r\n»;//Шапка сообщения,
//здесь указывается тип письма, отправитель, адресат (кому отправить ответ на письмо)
mail ($to, $subject, $message, $headers);
?>

Для отправки сообщения из формы обратной связи необходимо в атрибуте $to email@tut.by поменять значение переменной на адрес электронной почты. В рассмотренном примере:

  • $subject отражает тему сообщения и упрощает процедуру фильтрации сообщений программными продуктами;
  • $message — это непосредственно письмо или само сообщение;
  • $headers — это шапка сообщения с указанием типа письма и кодировки.

Обработку скрипта рассмотрим на примере:

<?php
$to = «email@tut.by»;//электронный адрес для отправки сообщений
$subject = «Тема «;//Тема
$message = «Message, сообщение!»;//Сообщение, письмо
$headers = «Content-type: text/plain; charset=utf-8 \r\n»;//Шапка сообщения,
//указан тип письма, отправитель и адресат
// Проверка или метод запроса POST
if ($_SERVER["REQUEST_METHOD"] == «POST»){
// Поочередная проверка или были переданные параметры формы, или они не пустые
if (isset ($_POST["username"]){
//Если параметр есть, присваиваем ему переданное значение
$name =trim (strip_tags ($_POST["username"]));
}
if (isset ($_POST["usernumber"]))
{
$number = trim (strip_tags ($_POST["usernumber"]));
}
if (isset ($_POST["question"])) {
$question = trim (strip_tags ($question));
}
// Формируем письмо
$message = «<html>»;
$message .= «<body>»;
$message .= «Телефон: «.$number;
$message .= «<br />»;
$message .= «Имя: «.$name;
$message .= «<br />»;
$message .= «Вопрос: «.$question;
$message .= «</body>»;
$message .= «</html>»;
// Окончание тела письма
// Отправка письма
mail ($to, $subject, $message, $headers);
}
else
{
exit;
}
?>

Сначала проверяем код на предмет использования метода POST. Для этих целей используем:

if (isset ($_POST["username"])
{
//при наличии параметра присваиваем ему переданное значение
$name = trim (strip_tags ($_POST["username"]));
}

В данном примере:

  • функция strip_tags () используется для удаления HTML и PHP тегов (чтобы исключить перехват информации злоумышленниками);
  • функция trim () удаляет лишние пробелы;
  • функция mail () отвечает за отправку сообщения.

Обращаем внимание, что названия полей на одной странице должны различаться.

Дополнительно можно внедрить:


  • функцию загрузки файлов в форму обратного звонка по коду <input type="file" value="Выберите файл">;
  • выбор даты по коду <input type="date" />;
  • выпадающий список (с помощью тега <select>);
  • иные элементы списка через <option>;
  • зависимые (атрибут type="radio") и независимые (атрибут type="checkbox") переключатели.

Оформление CSS стилями

Привлекательность формы обратной связи для сайта достигается за счёт применения стилей. Рассмотрим оформление на следующем примере:

.obratnuj-zvonok{
width: 100%;
max-width: 350px;
}

.form-zvonok{
width: 100%;
display: flex;
flex-direction: column;
padding: 0 20px;
box-sizing: border-box;
}

.form-zvonok div{
padding: 15px 0;
}

.bot-send-mail{
box-sizing: border-box;
width: 100%;
}

.form-zvonok label,.form-zvonok input{
display: block;
width: 100%;
box-sizing: border-box;
}

.form-zvonok label{
margin-bottom: 5px;
font-weight: bold;
}

.form-zvonok input{
padding: 10px 15px;
margin-top: 10px;
}

.form-zvonok label span{
color: red;
}

.form-zvonok .bot-send-mail{
padding: 15px;
margin-top: 10px;
background: none;
border: none;
text-transform: uppercase;
color: #fff;
font-weight: bold;
background-color: #009b97;
cursor: pointer;
border: 3px #009b97 solid;
border-radius: 5px;
}

.form-zvonok .bot-send-mail:hover{
color: #009b97;
background-color: #fff;


Сначала сделаем ширину. В идеале ширина дива должна быть равна ширине родительского блока. Максимальная ширина принимает значение 350px. Не рекомендуем делать больше, так как форма окажется растянутой.

Теперь займемся упорядочиванием полей. Для начала их обернем в div и поставим отображение в flex. Отступы сверху и снизу добавят упорядоченность в структуру (20px). Итак, получится:

.form-zvonok{
width: 100%;
display: flex;
flex-direction: column;
padding: 0 20px;
box-sizing: border-box;
}

Здесь подпись и поля для ввода сообщения обернуты в div:

<div><label>Имя <span>*</span></label>
<input type='text' name='username' required></div>

Поработаем с кнопкой "Отправить". Сделаем ее ширину идентичной этому показателю у родительского блока. Далее box-sizing присваиваем border-box (функцию расчета ширины по границе).

.bot-send-mail{
box-sizing: border-box;
width: 100%;
}

Аналогичные действия проводим для подписи полей, чтобы получить:

.form-zvonok label,.form-zvonok input{
display: block;
width: 100%;
box-sizing: border-box;
}

Остается поработать над привлекательным внешним видом подписей и полей для ввода сведений.

.form-zvonok label{
margin-bottom: 5px;
font-weight: bold;
}

.form-zvonok input{
padding: 10px 15px;
margin-top: 10px;
}

Для изменения цвета используем следующий стиль:

.form-zvonok .bot-send-mail:hover{
color: #009b97;
background-color: #fff;
}

Как вставить форму на страницу сайта

Процедура является простой и интуитивно понятной. Достаточно скопировать разработанный код и вставить его в ту часть страницы, где предполагается размещение формы обратной связи.

Активный анти спам с вводом данных в поле

Злоумышленники используют различные программные инструменты, которые научились обходить защиту с пустым полем. Повысить безопасность и избавиться от спама можно путем внедрения защиты с вводом данных. В качестве информации для ввода может выступать любой вопрос или математическое действие, например, 4+4*4.

Сначала в код необходимо добавить дополнительный раздел (поле для ввода) и вопрос. Рассмотрим на примере:

<p>
<label for="bezspama">4+4*4=:</label>
<input name="bezspama" type="text" required />
</p>

Обращаем внимание, что математическое выражение может быть любым.

Далее необходимо заменить сведения в РНР обработчике. Он должен проверять не пустоту данных, а правильность ввода ответа на вопрос или математическое действие. Можно одновременно настроить два варианта защиты антиспам.

Основные проблемы

1. Появление иероглифов на кодировке Windows-1251. Для решения проблемы вводятся два дополнительных параметра для функции htmlspecialchars. В результате строка примет следующий вид:

$название = htmlspecialchars ($_POST["название"], ENT_COMPAT, 'cp1251').

2. Не приходят сообщения с определенных или со всех адресов. Причиной этой ситуации является отклонение письма почтовым сервером по причине подозрения на его подделку (сервер отправки не равен серверу отправителя). Для исправления ошибки необходимо удалить частично информацию с почтой. Наглядно строчка примет вид:

$from = «Reply-To: $email \r\n»

Итак, адрес отправителя не будет отражаться в теме сообщения, но сведения о нем будут доступны в тексте письма.

3. Не получается убрать капчу. Воспользуйтесь простыми рекомендациями:

  • удалите данный блок из HTML кода;
  • установите значение false для константы HAS_CHECK_CAPTCHA (расположена в обработчике).

4. Не уходит письмо. Не заполнено обязательное поле. Для упрощения процесса необходимо организовать автоматическую проверку и отображать поля с ошибками пользователю.
Может быть интересно

5 заповедей брендинга от Молнии
Бренд — это образ компании или продукта. То, что мы вспоминаем, увидев знакомый силуэт.
Можно ли сделать хороший сайт без правок? В Молнии можно. Рассказываем как
Правки и сбор обратной связи удлиняют разработку сайта в 2 раза. А в некоторых ситуациях лендинг, который можно было бы ...
Простить и забыть. 6 устаревших приёмов в копирайтинге
Дизайн и иллюстрации рождаются на основе текста и подкрепляют его. Если писать о стабильно развивающейся ...
Идеальный мэтч. Как найти свою студию
Место работы — это давно уже не про «отсидеть с 9 до 18 и забыть», а про химию, общие интересы и цели.
Почему дизайнер должен уметь писать тексты?
Идеальная ситуация, когда есть целый штат для разработки сайта, и у каждого — своя зона ответственности.
Tone of Voice (ToV) - что это такое в маркетинге, для чего нужен голос бренда
✔️ Что такое Tone of Voice какой бывает и зачем нужен? ✔️ Как выбрать ToV? ✔️ Виды тональности общения и примеры Tone of Voice бренда. ✔️ Поможем выбрать самый успешный голос для своей компании. ✔️ Читайте на сайте.
RTB реклама - что это такое, как работает, настроить и создать РТБ
⚡️ Чем Real-time bidding отличается от других технологий рекламы? ⚡️ Типы баннеров для RTB? ⚡️ Примеры, трафик, площадки, настройка. ⚡️ Преимущества для участников аукциона. ⚡️ Инструкция по настройке, созданию и запуску. ⚡️ Примеры РТБ, плюсы и минусы. ⚡️ Что такое RTB технология покупки рекламы. ⚡️ Медийная реклама RTB.
Кто такой бренд менеджер (brand manager) - обязаности, зарплата, функции
Как стать бренд менеджером? Обязаности, зарплата, функции и сколько зарабатывает бренд менеджер. Читайте в нашей статье.
Что такое юзабилити простыми словами
Почему это так важно хорошее юзабилити? Как сделать интерфейс удобным и понятным. Как провести юзабилити тестирование. Как не допустить типичных ошибок? Расскажем в данной статье
Что такое баннерная слепота и как с ней бороться
Что такое баннерная слепота? Чем опасен феномен баннерной слепоты, как его побороть и что делать, чтобы вашу рекламу заметили? Читайте в статье.
Что такое мокап в дизайне и как использовать
Откуда взять шаблон mock-up и как с ним работать. Что такое мокап в дизайне и как использовать? Где брать готовые? Зачем нужны? Проблемы с использованием готовых мокапов?
Техническое задание (ТЗ) на разработку сайта: шаги, рекомендации, шаблон
Узнайте, как правильно составить техническое задание на разработку сайта, включая ключевые элементы, требования и рекомендации. Пример шаблона для вашего проекта.
Разработка бренд платформы - что включает в себя
Зачем бренд платформа нужна бизнесу? Как разработать пошаговая инструкция и примеры. Основные 10 шагов - пошаговый полный гайд.
Что такое брендбук: что входит, этапы создания и примеры
Узнайте, что входит в брендбук, как правильно использовать его и чем он отличается от фирменного стиля. Примеры успешных брендбуков.
Конверсия сайта простыми словами - как посчитать по формуле, конверсия в рекламе
Что такое конверсия сайта? Формула для расчета. Виды и типы конверсий и зачем они нужны? Зачем её нужно знать. Какая считается нормальной? Пример расчета конферсии сайта. Ответы на эти вопросы в нашей статье.
Что такое комьюнити простыми словами
Зачем бизнесу создавать комьюнити? Что такое комьюнити простыми словами. Как работает? Критерии сообщества? Как удерживать людей? Примеры. Часто задаваемые вопросы.
Что такое ремаркетинг и ретаргетинг простыми словами
Что такое ремаркетинг? В чем различия ремаркентинга и ретаргетинга простыми словами. Какие задачи бизнес решает? Виды ретаргетинга и ремаркетинга. Как оценить эффективность? Что такое динамический ремаркетинг? Читайте статью на нашем сайте.
Медиапланирование - что это такое, как составить, примеры
Что такое медиапланирование рекламной кампании? Для чего нужен и из чего состоит медиаплан. Как спрогнозиовать эффект и прибыль? Что важно учесть для успешной реализации медиаплана? Читайте в нашем полном гайде на сайте.
Как сделать слайдер для сайта - html, css, javascript
Как реализовать слайдер для своего сайта с помощью html, css, javascript. Готовые решения. Устройство и некоторые принципы работы слайдера. Читать полный гайд на сайте.
Форма обратной связи для сайта на html и php
Покажем как создать простую форму обратной связи с помощью HTML, CSS и PHP. Как правильно добавить форму на сайт? Как правильно настроить форму обратной связи на сайте? Читайте подробнее в нашей статье.
ROI, ROMI, ROAS в маркетинге: чем отличаются и как их посчитать
Всё о метриках ROI, ROMI, ROAS: зачем нужны в рекламе и как считать. Окупаемость и эффективность рекламной компании. Поможем разобраться в нашем гайде про метрики для оценки рентабельности каналов, кампаний и маркетинга.
Что такое брендинг простыми словами в маркетинге компании: что в себя включает
Расскажем что входит в брендинг компании и что в себя включает.
Ребрендинг что это такое простыми словами и зачем он нужен компании
Как ребрендинг влияет на бизнес: разбира ем на примерах. Какие этапы включает. Какие риски есть при ребрендинге и как понять, что что-то пошло не так. Пошаговый план с примерами.
Как адаптировать сайт для мобильных устройств - полный гайд
Преимущества сайта с адаптивной вёрсткой. Как адаптировать сайт под мобильные устройства? Методы оптимизации. Как проверить на мобилопригодность? Пошаговая инструкция мобильной оптимизации.
Прототип сайта что это простыми словами — разработка и создание макета
Что такое прототип и зачем он нужен? 10 лучших инструментов для разработки прототипа. Цели, которые решает прототип сайта для команды разработчиков. Типы и эскизы. Статичный и интерактивный макет.
Что такое KPI простыми словами: система, показатели, расшифровка
Как внедрить и использовать KPI? Виды, правила. Примеры KPI для отдела продаж и маркетолога. Плюсы и минусы системы в бизнесе. Как рассчитать KPI по формуле.