Форма обратной связи на PHP с отправкой на e-mail
На этом уроке мы познакомимся с функцией mail (), на примере создания формы обратной связи на PHP с последующей отправкой полученных данных на почту.
Для этого создадим два файла — forma.php и mail.php. В первом файлике будет находиться только форма с полями для ввода пользователем данных. Внутри тега form — кнопка «Отправить» и атрибут action, который ссылается на обработчик — mail.php, именно к нему обращаются данные из формы при нажатии кнопки «Отправить». В нашем примере данные формы отправляются на веб-страницу с названием «/mail.php». На этой странице прописан скрипт на PHP, который обрабатывает данные формы :
Данные формы отправляются методом POST (обрабатывается как $ _POST). $ _POST — это массив переменных, переданных текущему скрипту через метод POST.
Ниже вы видите содержимое файла forma.php, поля которой заполняет сам пользователь на каком-нибудь веб-сайте. Все поля для ввода данных обязательно должны иметь атрибут name, значения мы прописываем сами, исходя из логики.
Форма обратной связи на PHP
Так форма визуально выглядет в браузере.
Далее пишем код для файла mail.php. Придумываем сами имена для переменных. В PHP переменная начинается со знака $, а затем имя переменной. Текстовое значение переменной заключается в кавычки. С помощью переменных на емайл администратора передается содержимое формы, просто подставив в квадратные скобки имя элемента формы — значение name.
$to /cdn-cgi/l/email-protection» data-cfemail=»9be2f4eee9f6faf2f7dbfcf6faf2f7b5f8f4f6″>[email protected]»; // емайл получателя данных из формы
$tema = «Форма обратной связи на PHP»; // тема полученного емайла
$message = «Ваше имя: «.$_POST[‘name’].»
«;//присвоить переменной значение, полученное из формы name=name
$message .= «E-mail: «.$_POST[’email’].»
«; //полученное из формы name=email
$message .= «Номер телефона: «.$_POST[‘phone’].»
«; //полученное из формы name=phone
$message .= «Сообщение: «.$_POST[‘message’].»
«; //полученное из формы name=message
$headers = ‘MIME-Version: 1.0’ . «\r\n»; // заголовок соответствует формату плюс символ перевода строки
$headers .= ‘Content-type: text/html; charset=utf-8’ . «\r\n»; // указывает на тип посылаемого контента
mail($to, $tema, $message, $headers); //отправляет получателю на емайл значения переменных
?>
Таким образом данные из массива $_POST будут переданы соответствующим переменным и отправлены на почту при помощи функции mail. Давайте заполним нашу форму и нажмем кнопку отправить. Не забудьте указать ваш е-майл. Письмо пришло моментально.
Как видите создавать форму обратной связи на PHP с отправкой на e-mail не так и сложно. Хотите узнать как сохранить данные, полученные из формы в файл или в базу данных? Этому научит вас мой видеокурс «PHP и MySQL с Нуля до Гуру».
Создано 10.08.2017 11:52:15
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
Она выглядит вот так: - Текстовая ссылка:
Она выглядит вот так: Как создать свой сайт - BB-код ссылки для форумов (например, можете поставить её в подписи):
Комментарии ( 9 ):
Я как-то давно посмотрел видео из курса от Михаила Русакова. Там была форма, которая регистрировала пользователей. С тех пор я сам дошел до представленной выше конструкции, хотя посмотрел совсем другой урок.)
так и должно быть при обучении, если встречаются: хороший учитель и усердный ученик.
Так точно! вот я например никогда не создавал интернет магазины, а сделал за неделю
Привет, в этой форме при нажатии кнопки «Отправить сообщение» будет перебрасывать на файл mail.php? А можно как-то сделать, чтобы он не открывался?
У меня тоже проблема, форма отправляется пустой как только на нее перейти. Как можно перейти на нее без преждевременной отправки формы?
Добрый день! По строке скрипта: $message = «Номер телефона: «.$_POST[‘phone’].»
«; выдаёт ошибку syntax error, unexpected ‘$message’ (T_VARIABLE) Помогите пож. не вижу что не так. Это вторая команда в скрипте $message, пробовал и $message ., как в примере, и $message2, всё равно выдаёт ошибку.
я честно не мучаюсь и использую сайт https://formfor.site, пока не жалуюсь. Сообщения уходят в telegram и почту.
smineral — обработка и интеграция без конструктора форм даже. чем этот сервис лучше например qform24.com ? где всё тоже самое только 1. бесплатно полностью. 2. есть конструктор форм и так же подключение обработчика к готовой форме 3. есть кабинет по работе с заявками внутри сервиса, а не только экспорт в мессенджеры и все остальные функции что там заявлены тоже есть.
Отличный мини проект формы) все что нужно есть. Только подскажите пожалуйста как сделать сообщение об успешном отправлении сообщения? а то кидает на файл mail.php, может даже просто в виде модального окна — но чтобы не кидало на файлик. отправка работает — письмо пришло молниеносно)
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2023 Русаков Михаил Юрьевич. Все права защищены.