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

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

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

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

Сама форма будет выглядеть следующим образом:
Как сделать форму обратной связи php. Смотреть фото Как сделать форму обратной связи php. Смотреть картинку Как сделать форму обратной связи php. Картинка про Как сделать форму обратной связи php. Фото Как сделать форму обратной связи php

Давайте создадим файл с именем feedback.php и напишем HTML-код формы.

Давайте будем записывать данные, переданные пользователем в файл feedback.txt. Так как мы не хотим, чтобы данный файл был доступен всем желающим, нельзя положить его в папку www. Поэтому в папке myproject.loc рядом с папкой www создадим ещё одну папку с именем private. А внутри неё уже создадим файл feedback.txt.

Осталось только написать логику, которая будет сохранять текст, переданный пользователем.
Для этого нам нужно:

Делается это проще простого:

Пройдёмся по тому, что для нас новенькое.

Всё остальное нам уже знакомо.

Проверка

Давайте теперь проверим работу формы и отправим несколько сообщений.
Как сделать форму обратной связи php. Смотреть фото Как сделать форму обратной связи php. Смотреть картинку Как сделать форму обратной связи php. Картинка про Как сделать форму обратной связи php. Фото Как сделать форму обратной связи php

После отправки сообщений будет выводиться соответствующее уведомление.
Как сделать форму обратной связи php. Смотреть фото Как сделать форму обратной связи php. Смотреть картинку Как сделать форму обратной связи php. Картинка про Как сделать форму обратной связи php. Фото Как сделать форму обратной связи php

Давайте теперь посмотрим содержимое файла feedback.txt.
Как сделать форму обратной связи php. Смотреть фото Как сделать форму обратной связи php. Смотреть картинку Как сделать форму обратной связи php. Картинка про Как сделать форму обратной связи php. Фото Как сделать форму обратной связи php

Как видим, всё записалось. Для того чтобы можно было связаться с отправителем, на форму стоит добавить поле email и записывать его тоже.

Источник

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

Итак, давайте приступим, первым делом мы разметим страницу и пропишем для неё стили. Разметка будет включать в себя обычную форму обратной связи с двумя input (телефон, почта) и одной текстовой областью, куда, по нашей задумке, пользователь будет вводить своё сообщение. Обработчик формы разместим на отдельной странице.

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

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

Теперь пришло время заняться сервером. Наш скрипт будет включать в себя несколько частей:

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

Настройка

Вспомогательные функции

Здесь опишем пять функций, которые упростят обработку данных.

Шаблоны вывода сообщений:

Очистка данных пришедших с формы:

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

Как видите все написанные нами функции небольшого размера. Можно было их не выносить за приделы обработки данных, но, когда вам потребуется что-то изменить или расширить, например check_format(), это будет гораздо проще и удобнее.

Обработка пришедших данных

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

Теперь, чтобы не возникло проблем с кодировкой, указываем её при помощи заголовка.

Далее пишем сам код обработки данных.

В написанном коде мы определяем, была ли отправлена форма, в противном случае закрываем этот файл при помощи функции exit. Далее проверяем наличие в массиве POST ячеек с нашими данными, если они пришли, чистим их от возможного мусора. После очистки проверяем форматы почты и телефона, а также наличие текста в переменной вопроса. Далее формируем письмо, отправляем и пишем логии, где, помимо данных, сохраняем статус отправки письма. Так мы сможем отследить работу функции mail() и одновременно не потерять данные.

Вывод сообщений

Нам осталось только оповестить пользователя об успешной или «не очень» выполненной операции и вернуть его обратно на сайт с формой. Для этого мы используем разметку с включениями PHP скрипта.

Для перенаправления пользователя обратно на сайт, мы воспользуемся метатегом refresh, где делаем вставки PHP кода уже с созданными переменными. Ещё нам потребуются немного использовать JavaScript, чтобы сделать страницу чуть динамичней. Пишем функцию timeBack(), которая будет в обратном порядке считать секунды до перенаправления.

Источник

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

Существует несколько способов реализовать данную фичу у себя. Их можно поделить по уровню сложности, а так же по требованиям от хостинга.

Способ №1. Форма обратной связи html + php.

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

Для данной формы вам потребуется:

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

Далее давай те напишем HTML код формы

Ну и конечно же файл CSS, что-бы все облагородить)

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

Вот, что получилось в итоге.

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

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

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

Для данного способа вам понадобиться:

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

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

Я собрал вот такую форму на сервисе Яндекса.

Как сделать форму обратной связи php. Смотреть фото Как сделать форму обратной связи php. Смотреть картинку Как сделать форму обратной связи php. Картинка про Как сделать форму обратной связи php. Фото Как сделать форму обратной связи phpКуча различных виджетов уже готовы и доступны для вас
Как сделать форму обратной связи php. Смотреть фото Как сделать форму обратной связи php. Смотреть картинку Как сделать форму обратной связи php. Картинка про Как сделать форму обратной связи php. Фото Как сделать форму обратной связи phpУведомления на почту

После составления формы, нужно лишь скопировать полученный по кнопке “поделиться” код и вставить в нужное место на странице вашего сайта.

Способ №3. Ссылка для отправки email.

Самый простой способ реализовать связь разработчика и пользователя. Оставить свою почту на сайте. Но мы ведь любим упрощать жизнь пользователям. Поэтому разместим не просто адрес, а ссылку адрес. Выглядит такая ссылка вот так:

Такую ссылку можно усложнить и задать сразу еще и тему к примеру

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

Источник

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

Введение

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

Для создания формы обратной связи нам потребуется php, поскольку отправки писем на одном html невозможна. Все что нам потребуется — это один файл, например расположим его в папке /feedback/ и назовем index.php.
Логика формы следующая: при загрузке страницы, делаем проверку — были отправлены данные или нет. Если ни чего не отправлялось, то просто отображаем форму с полями — имя, e-mail и текст сообщения. Если же данные были отправлены, то проверим что нам пришло. В случае, когда все данные корректные, отправляем их на свой почтовый ящик. А когда данные не корректные, например, не все поля были заполнены, мы будем выводить сообщение о ошибке.
С логикой разобрались, теперь нужно написать код.

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

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

Вот и все, для тех копу не терпится попробовать форму в действии, я выложил исходники в архиве — вот тут.

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

Спасибо большое автору за доступное пояснение. Мне как новичку пригодилось. Если будут статьи как такую простенькую форму максимально безопасно внедрить в самый простой модуль джумлы для собственных нужд, было бы прекрасно. Все доступные компоненты очень тяжелые и мудреные. А это решение само по себе прекрасно. ReCapcha Google с ней работает отлично в джумле. Вопросы только по методу отправки. Через настроенный SMTP не очень хочет работать. Хорошо сложилось только с phpMail

Здравствуйте! Ваш код не работает. На емеил ничего не приходит.

Добрый день! Проверьте, что возвращает функция mail. Возможно сервер не отправляет письмо. Если пробуете локально, то скорее всего не будет работать. Можно вместо стандартного mail использовать smtp: https://vk-book.ru/novaya-versiya-klassa-sendmailsmtpclass-otpravka-fajlov-cherez-smtp-s-avtorizaciej-po-protokolu-ssl-na-php/

Нихрена не работает. В полях выводится код вместо плейсхолдеров. При отправке пишет, что такого пути нет —

Источник

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

Говорят, что если программист может написать форму обратной связи, он может написать всё.

Форма обратной связи — древнейшее программистское искусство. Тут есть всё: форма с проверкой, приём запроса, обработка, безопасность, хранение и ответ. Это как Hello World, только для самых крутых.

В сегодняшней версии программы — только самые основы этого упражнения. В следующих частях мы прокачаем систему.

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

Чтобы сделать у себя на сайте такое, нам понадобится:

Сервер для PHP

Для того, чтобы PHP-код исполнялся, нужен какой-то компьютер-исполнитель. Мы называем его сервером — то есть «раздающим». На сервере должна работать программа для PHP, которое отвечает за правильную обработку таких файлов.

Когда мы делали проект «Публикуем свою страницу в интернете», то уже использовали сервер (эту услугу нам предоставила хостинговая компания SpaceWeb). Этот же сервер мы можем использовать для нашей сегодняшней задачи, потому что он тоже умеет работать с PHP-файлами:

Готовим страницу с формой

Возьмём стандартный шаблон страницы и наполним его стилями и кодом для формы.

Пропишем CSS-стили, чтобы наша страница выглядела опрятно. Забежим немного вперёд и используем в стилях разделы input и textarea :

Чтобы сделать форму на странице, мы будем использовать такие теги:

— для ввода имени, почты для связи и темы письма. Они занимают одну строку, нам этого достаточно.

— здесь будут писать само сообщение, поэтому нужно будет сделать это поле побольше и пошире.

Ещё мы воспользуемся тегом

Пишем обработчик формы на PHP

Когда мы заполним и отправим форму на нашей странице, произойдёт следующее:

Логика работы PHP-программы будет такая:

Отправляем PHP-скрипт на сервер

Последнее, что осталось сделать — загрузить файл скрипта на сервер. Для этого сохраним его как post.php и загрузим по адресу mihailmaximov.ru/projects/mail/post.php. Если у вас ещё нет своего сервера, можете использовать этот скрипт для тестирования формы обратной связи.

Как загружать файлы, мы рассказывали в статье про публикацию сайта в Сети, поэтому просто сделаем всё по той инструкции:

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

Теперь, когда мы обновим HTML-страницу, заполним все поля и нажмём «Отправить», на указанную почту придёт письмо с нашим сообщением. Это значит, что форма работает, а мы с вами сделали очередной полезный проект!

Что дальше

Дальше как обычно — улучшаем.

Источник

Leave a Reply

Your email address will not be published. Required fields are marked *