Создаем форму обратной связи на PHP. Форма обратной связи на PHP с отправкой на e-mail Легкая форма обратной связи html

Форма обратной связи для сайта , которую я вам покажу – основана на использовании технологии Ajax. Но не волнуйтесь, знать этого вам не надо, все уже готово, останется только установить эту форму и настроить под себя!

Ребята - скрипт очень давно устарел. У кого-то работает, у кого то нет. А мне разбираться и уж тем более обновлять - лень. Поэтому тестируйте на своё усмотрение.

Форма обратной связи php с отправкой на почту

Эта форма обратной связи на сайт очень функциональна сама по себе, к ней подключено несколько плагинов, которые создают привлекательный внешний вид и проверяют валидность (читай правильность) введенных вами данных. Эти плагины работают на великом и могучем ! А называются так:

1. JQTransform – плагин который позволяет сделать нашу форму обратной связи красивой!

2. formValidator – а этот плагин проверяет форму контактов на правильность введенной информации и в случае чего выводит всплывающие подсказки!

Для полноценной работы этой формы будет использован класс – PHPMailer. Считается одним из лучших!

Заметка для самых умных:

Форму обратной связи для сайта можно сделать на HTML! Но работать она начнет только при помощи PHP! И никак иначе!

Это я для тех, кто ищет форму обратной связи только на HTML. Сделать сделаете, но работать она не будет!

Поэтому, ваш должен поддерживать PHP, а для этой формы контактов, PHP должен быть не ниже пятой версии. Надеюсь, понятно излагаю? Тем более, сейчас, любой нормальный хостинг поддерживает эти условия!

Эту форму обратной связи я откопал на сайте www.tutorialzine.com ссылка ведет непосредственно на страницу оригинала, т.е. сайт автора данной формы!

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

Признаюсь честно, мы с этой «формочкой» провозились два дня, так как начинали всплывать различные косяки, а недоделанную до конца форму обратной связи, тем более такую красивую, выкладывать не хотелось! Так что если вы любитель все сделать сами, и в вашу светлейшую голову влезет мысль – самому русифицировать данную форму, дам пару советов, так как просто переводом фраз не ограничишься:

1. Эта форма обратной связи заточена под буржуев, от туда же и скачена, поэтому она будет присылать вам вместо нормальных русских символов – кракозяблы. Разберитесь с кодировкой. Да и вообще все «тюлени» будут связаны с этим!

2. Скрипт валидации изначально не понимает наши букв, поэтому их там надо будет прописать!

3. Даже после этих действий если указать тему письма на русском, письмо приходит с темой – No subject (надеюсь правильно написал), это лечится если указать кодировку в файле класса PHPMailer.

4. В оригинальной форме текст в полях ввода прижимался к низу, а не по середине. Это глюк плагина JQTransform.

Ну, вроде все расписал и предупредил. Поехали дальше!

Рассмотрим пример легкой и быстрой формы обратной связи для сайта написанной на html и php.

Почему форма на html и php?

Для CRM, таких как Wordpress, Joomla и других можно найти различные плагины, что бы установить форму обратной связи для сайта. Однако, что мне не нравится в таких плагинах, так это их низкая производительность и замедление сайта. Так как эти плагины все равно выдают в результате тот же код html, то предлагаю использовать простую но полностью функциональную форму, которую можно так же изменить под обратный звонок с сайта.

Форма связи на html просто вставляется в админке Joomla, OpenCart, а если ваш сайт самописный или вы используете любой фреймворк то использовать представленный код не составит труда и главное, сайт будет загружаться так же быстро как и до вставки кода.

Структура, как организована обратная связь для сайта

Что бы все заработало, приведу структуру, что нужно что бы форма связи или звонка работала?

  • Код html вставленный на страницу + css стили.
  • Php файл, который и выполняет посылку письма.
  • В коде html содержится содержится информация, какие поля для ввода нужно показывать и подписи к ним. Стили css отвечает за визуальное оформление самой формы и отображение данных. При нажатии на кнопку отправить вызывается php файл, который и отправляет письмо на указанную почту. Подробнее исходный код формы рассмотрим дальше.

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

    Вначале приведем полный код формы обратной связи для сайта на HTML.

    Имя * Номер телефона (с кодом) * Сообщение

    Сама форма находится между html тегами . Самому тегу формы присвоен css класс class="form-zvonok" который используется для задания отображения формы через css стили.

    Атрибуты формы autocomplete="off" - автозаполнение формы отключено. Атрибут формы action="http://site.com/email.php" , в нём указан адрес файла, который вызывается и которому передаются данные формы после нажатия кнопки «отправить».

    Атрибут method="post" , в этом случае данные отправляются скрытно и не отображаются в адресной строке, другой метод Get отправляет данные формы через адресную строку. Учитывая необходимость SEO оптимизации сайта, в случае формы обратной связи для сайта лучше отправлять данные методом Post, так как в случае метода Get у сайта по сути будет доступно множество однотипных страниц, которые отличаются только несколькими незначительными параметрами.

    Внутри этого дива, находятся дивы содержащие теги и , и в самом конце - кнопка отправить, при нажатии на нее происходит отправка данных формы.

    Отсылка письма php скриптом

    Приведем простой скрипт для отправки письма

    Чтобы отправить письмо на необходимый email, замените значение переменной $to [email protected] на необходимый адрес. Переменная $subject - тема сообщения, показывается почтовыми программами при просмотре списков писем. $message - само тело письма, это и есть само сообщение. $headers - шапка письма, в ней указывается тип письма, например html, также кодировка письма, от кого доставлено письмо и на какой emal отправлять ответ.

    Оформление формы обратного звонка для сайта css

    Приведем код 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, если шире, то форма html выглядит растянутой:

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

    Что бы упорядочить поля и кнопку отправить, обертываем их в div , отображение ставим в flex и направление отображения столбцом column . Для красоты добавляем отступы сверху и снизу на 20px:

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

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

    Имя *

    Для этого дива присвоим отступы:

    Form-zvonok div{ padding: 15px 0; }

    Кнопке отправить делаем ширину равной ширине родительского блока и 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 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; }

    Привет ребята. На связи Серёга. Знаю, что давно не писал - дела, дела... Да и сейчас, если честно, времени совсем нету. И форму будем делать не по моему уроку, а по урокам моего знакомого - Кротова Романа .

    Создавать форму обратной связи для сайта мы будем последовательно. Поэтому эта статья будет разбита на 3 урока.

    Мы просто заведём её в HTML и создадим PHP-обработчик для отправки писем. Всё будет последовательно, с нуля и до результата. Так, что бы вы всё поняли, и смогли самостоятельно встроить нужные поля.

    Рома, покажет Вам как сделать Ajax-загрузку. То есть отправлять данные с формы без перезагрузки странички. Что, согласитесь, весьма удобно и современно.

    Ну и в третьей (урок готовится - позже здесь будет ссылка) , мы встроим проверку на валидацию. Не средствами браузера, а при помощи специальных скриптов.

    Видео 1. Создание формы обратной связи для сайта.

    Обращаю внимание! Что бы форма заработала - необходимо, что бы ваш хостинг поддерживал PHP.

    Если у вас возникнут вопросы касательно непонятных моментов в написании обработчика формы для отправки писем - не стесняйтесь, задавайте их в комментариях.

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

    Вот что получилось в итоге в файле index.php

    Напоминаю, что в нём содержится простенькая форма обратной связи . Без оформления и прочих прибамбасов. Что бы не нагружать Вас лишней информацией.

    Содержимое файла submit.php:

    Здесь осуществляется базовая проверка формы на заполненность, что бы не отправлять пустые сообщения. Если всё "гуд" - письмо отправляется. И идёт переадресация на страницу-уведомление об успешном отправлении письма.

    If (!empty($_POST["name"]) AND !empty($_POST["email"]) AND !empty($_POST["message"])) { $headers = "From: Кротов Роман " . "Reply-To: [email protected] " . "X-Mailer: PHP/" . phpversion(); $theme = "Новое сообщение с сайта"; $letter = "Данные сообщения:"; $letter .=" "; $letter .="Имя: ".$_POST["name"]; $letter .=" Email: ".$_POST["email"]; $letter .=" Телефон: ".$_POST["phone"]; $letter .=" Сообщение: ".$_POST["message"]; if (mail("[email protected]", $theme, $letter, $headers)){ header("Location: /testform/thankyou.php"); } else { header("Location: /testform"); } } else { header("Location: /testform"); }

    Ну а саму страницу уведомление не вижу смысла здесь размещать. Там базовая структура HTML-документа и всего одна строчка текста.

    Приветствую моих читателей, набрался опыта и расскажу Вам о принципах работы формы обратной связи php. Покажу на наглядных примерах, чтобы вы понимали как все устроено и как происходит взаимодействие между самой формой ввода (ее полями input) и файлом-обработчиком, написанный на языке php. К тому же бесплатно сможете скачать исходники вместе с .

    Конечно здорово будет, если вы хоть немного разбираетесь в HTML / CSS т.к. Вам придется уже по аналогии перетягивать код на свою страницу. PHP язык затрагивать не будем, все необходимые правки, которые нужно будет сделать под себя я покажу.

    UPDATE :По откликам читателей, я понял, что нужно что-то более красивое и функциональное, встречайте , ознакомьтесь и посмотрите. Сами выбирайте какая больше понравится)

    UPDATE2 : Version 3.0 Адаптивный Лендинг + форма ajax с передачей UTM-меток , ознакомьтесь и посмотрите. Вам понравится

    Вспомнил себя, когда я впервые пытался делать самостоятельно форму обратной связи на php, и честно признаться было трудоемко, т.к. не понимал что и как происходит. Терпение и упорство друзья и у вас все получится.

    Форма обратной связи php — структура

    Разбор самой формы обратной связи будем изучать на примере посадочной страницы (Landing Page), кстати есть отдельная статья по . Посмотреть как это работает в действии можете по кнопкам расположенным ниже, прикладываю исходники этого одностраничника и главного файла обработчика-php (этот файл и будет обрабатывать и отправлять письмо на email)

    После того как скачаете исходники и распакуете архив, вы увидите следующую структуру по файлам:

    • image — все изображения, которые используются для самого Landing Page, кнопки и т.д.
    • js — javascript скрипты, которые обеспечивают например всплывающее модальное окно на странице и другие визуальные эффекты
    • index.html — индексный файл нашего одностраничника
    • index1.php — файл обработчик, в который передаются значения из формы, далее формируется письмо из полученных переменных и отправляется на указанный email адрес. Так же index1.php случит в роли промежуточной страницы уведомления об успешной отправке данных с автоматическим перенаправлением обратно на index.html (т.е. наш одностраничник)

    Важно, чтобы ваш хостинг, на котором располагаются файлы сайта, поддерживал php обработку, иначе файл index1.php не выполнится и работать не будет. Чтобы уточнить этот нюанс обратитесь в кампанию, где зарегистрирован ваш хостинг или просто протестируйте — работает, значит есть поддержка. Если нет, то включите опцию поддержки языка php

    Взгляните на схему работы взаимодействия всех элементов (страница, форма, обработчик)

    Исходный код вызова формы и обработчика

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

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Заказать обратный звонок Заказажите обратный звонок

    Заказать обратный звонок Заказажите обратный звонок

    Ниже полный исходный код обработчика index1.php, для того чтобы настроить отправку на свой почтовый ящик, поменяйте «[email protected]» на свой, остальное в принципе можно оставить без изменений

    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 С вами свяжутся

    С вами свяжутся body { background: #22BFF7 url(img/zakaz.jpg) top -70% center no-repeat; } setTimeout("location.replace("/index.html")", 3000); /*Изменить текущий адрес страницы через 3 секунды (3000 миллисекунд)*/

    Проверка работоспособности формы

    Вызываем окно и вводим данные для тестовой проверки нашей формы

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


    У меня на этом все, старался донести смысл и работу скрипта наилучшим образом. Возникнут вопросы, можете смело обращаться в комментарии или ко мне в VK (смотрите контактные данные). Желаю легкой и продуктивной работы Вам.

    Вы знаете, что до 80% пользователей покидают ваш сайт, не заполнив заявку потому, что форма обратной связи на вашем сайте далека от идеала? Или вы уверены в том, что ваша форма заявок идеальна и имеет максимальную конверсию?

    Все чаще наши новые клиенты, которые обращаются к нам в студию, при обсуждении создания и продвижения сайта, задаются вопросом о конверсии. Это абсолютно правильный вопрос, когда речь идет об интернет-маркетинге, т.к если сайт не приносит клиентов, то и смысла инвестировать в него время и деньги нет никакого. В сегодняшнем блоге мы расскажем об одно из факторов, который сильно влияет на количество клиентов с сайта компании. Этот фактор - формы обратной связи, или как их еще называют - «формы захвата». Какая она - идеальная форма обратной связи.

    Сразу отметим, что в зависимости от сегмента бизнеса эта форма может отличаться, т.к у каждого бизнеса свои задачи, свои форматы взаимодействия с клиентами. Именно форма «общается» с клиентом пока ваш менеджер обзванивает другие контакты и ждет новые заявки.

    Форма обратной связи на сайте важна. Вы ведёте покупателя к совершению покупки или заказу услуги ненавязчиво и осторожно. Используете всё, что можно, начиная с удобного интерфейса и заканчивая отличными условиями продажи. Но когда клиент добирается до формы заказа - он уходит. Вся работа насмарку. Вряд ли он когда-нибудь вернётся к вам снова. Этого можно избежать, просто изменив форму обратной связи.

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

    Не только для совершения заказа/покупки. С помощью формы обратной связи вы выясняете у пользователей, что им нравится/не нравится, какие есть «косяки» в работе компании и даже получаете готовые советы по её улучшению. Разговор с пользователями - это:

    а) повышение лояльности к вашей компании;

    б) возможность быстро отреагировать на запрос, снизить негатив и сохранить клиента;

    в) возможность улучшить продукт или сервис;

    г) способ увеличить продажи.

    Главная ошибка, которую совершают неопытные владельцы сайта - перегруженная форма обратной связи. Пользователей отпугивает большой набор полей, которые необходимо заполнить, чтобы сделать запрос в вашу компанию. Они не хотят предоставлять лишнюю информацию о себе, даже если вы обещаете им конфиденциальность. Мы собрали для вас несколько правил оформления идеальной формы.

    Правило №1. Максимально упрощайте форму

    Какую из этих форм вы заполните охотнее?

    Или такую

    Оставляйте только самые важные поля. Посетители большинства сайтов не любят заполнять большое количество полей

    Если правило упрощения формы выполнили, то стоит ожидать увеличение конверсии на 30–60 %.

    Совет. Уберите всё лишнее, оставьте 2–3 поля или даже 1. Обычно это «Имя», «номер телефона или e-mail». Если у вас интернет-магазин и вы делаете форму для заказа, то полей будет немного больше: «Имя», «№ телефона или E-mail», «Вариант доставки», «Количество товара», «Адрес». Смотрите, для каких целей вы делаете форму обратной связи, и максимально упрощайте её.

    Правило №2. Форма должна быть заметна

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

    Правило №3. Минимум «обязательных полей»
    Одно обязательное поле - телефон

    Часто на сайтах компаний можно наблюдать не только перегруженную лишними полями форму, но и обязательность заполнения этих полей. Формулировка «обязательное поле» присутствует на 99 % сайтов. Хотите увеличить конверсию? Уберите обязательное заполнение всех полей, кроме телефона. Если человек захочет, он сам заполнит те поля, которые считает нужными, но основное поле - номер телефона, которое позволит перезвонить клиенту и уточнить всю остальную информацию. Главное не забудьте составить правильные скрипты для менеджеров.

    В каких случаях конверсия с форм падает:

    • Падение конверсии на 3 %, если вы просите заполнить поле с указанием возраста
    • Падение конверсии на 10 %, если необходимо ввести ФИО
    • Падение конверсии на 2 %, если вас интересует, в каком населенном пункте живет посетитель
    • Падение конверсии на 4 %, если необходимо заполнить адрес проживания

    Если поля о доставке, адресе и ФИО присутствуют в интернет магазине, то пользователь конечно же их заполняет и на конверсию это не влияет. Но если вы хотите, чтобы он заполнил данные, чтобы отправить вам заявку, то конверсия безусловно будет падать.

    Правило №4. Ссылки в форме (условия обращения)

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

    Пример такой формы:

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

    Правило №5. Согласие на обработку данных

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

    Правило №6. Выпадающих списков быть не должно

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

    Правило №7. Уберите каптчу с формы

    Ввод каптчи может снижать конверсию до 40%. Это объясняется тем, что часто каптча вообще не читается, либо при вводе данных сообщает о некорректности ввода символов. Если раньше каптча была оправлена тем, что без нее могло приходить много спама, то теперь есть технологии, которые защищают форму от ввода данных спам-роботами и без ввода каптчи.

    В студии artcell мы как раз используем такую технологию. Как можете заметить каптчи в наших формах нет и СПАМ мы не получаем.

    Правило №8. Автоуведомление о том, что форма отправлена

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

    Правило №9. Уведомление по sms

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

    Так какая она - идеальная форма обратной связи?

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

    Минимум полей для заполнения

    Одно или два обязательных поля

    Отсутствие полей с выпадающими списками

    Наличие чекбокса для согласия на обработку получаемых данных

    Наличие ссылок и доп.условий сразу в форме без лишних переходов на другие страницы сайта

    Отсутствие каптчи

    У вас идеальная форма заявки, но клиентов все равно мало? Прочитайте этот блог в нашем журнале и вы найдете ответ на свой вопрос. Если ваш сайт плохо продвигается в поисковых системах, то вам будет полезна данная информация .

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