Как создать php файл отправки формы

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

Как создать php файл отправки формы

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

Редактируем файл index.html

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

создаем-php-файл-обработчик-форм

Откройте файл index.html

Нажмите правой кнопкой мыши на файле index.html и откройте его с помощью редактора Notepad++, напомню что скачать программу notepad++ можно в разделе “Полезные программы“.

Найдите в файле текст, который начинается с кода <form, воспользуйтесь поиском на странице с помощью сочетаний клавиш Ctrl+F, так вы быстрее справитесь с задачей.

Возможно у вас будет несколько сочетаний в файле, обратите внимание, что для отправки данных с любой формы на емейл, в параметрах открывающего тега <form обязательно будут присутствовать два поля это method=”post”, данный параметр указывает каким методом будут отправлены данные с формы, как правило везде указан именно этот метод, как раз он нам и нужен, если у вас указан метод GET, то просто поменяйте его на POST, другой важный параметр это action=”скопированныйсайт.ру(или что-то еще)” между кавычек указывается, как раз обработчик формы. Именно тот, что мы будем создавать.

ищем поле <form

Поменяйте в этом файле строчку action=”скопированныйсайт.ру(или что-то еще)”, например на action=”zakaz.php” или action=”send.php”, напишите так, как вам удобно. Исходя из этой строчки, вы будите создавать php файл с соответствующим именем.

Обратите внимание! Если у вас несколько форм отправки данных на сайте, то и сочетаний кода <form name=”xxx” method=”post” action=”xxxx”…>, у вас будет столько же. Внесите изменения везде!

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

Здесь нам нужно также обратить внимание на теги <input>, которые отвечают за поля на вашем сайте, которые и должен заполнить клиент(посетитель).

тег input в коде формы

В тегах <input> есть свой ключевой параметр name по которому мы и принимаем данные из полей в нашем обработчике, в нашем примере для поля “Ваше имя”, ключевой параметр это name=”name”, а для поля “Ваш телефон” name=”telefon” так вот, по идентификатору указанному в кавычках мы и будем принимать данные из каждого конкретного поля формы. В нашей форме так же есть скрытые поля, узнать их можно по type=”hidden”, т. е. «скрытое».

В нашем примере, они сделаны для идентификации с какой именно формы пришел заказ, кроме того в таких полях можно передавать utm-метки, IP адрес клиента, откуда он пришел и т. п..

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

Создаем файл обработчик php

В корневой папке своего сайта (лендинга), создайте php файл, с тем именем, которое вы прописали на первом шаге при редактирование файла index.html. В нашем примере в теге action=, мы написали zakaz.php. Значит и файл обработчик мы назовем zakaz.php.

Это значит что теперь все формы будут отправлять данные уже в наш файл, осталось только создать его и прописать в него код, который будет эти данные принимать и отправлять на нужный нам email адрес!

Откройте редактор Notepad++, нажмите файл-новый и вставьте туда следующий код:

Код PHP
<?php
$recepient = “ваша@почта.com”;
$domain = $_SERVER[‘SERVER_NAME’];
$name = trim($_POST[“name”]);
$phone = trim($_POST[“telefon”]);
$email = trim($_POST[“e-mail”]);
$message = “Сайт: $domain \nИмя: $name \nЕмейл: $email \nТелефон: $phone \n”;

$headers = $headers.”Content-type: text/plain; charset=\”UTF-8\”\r”;

$pagetitle = “Заявка с $domain”;
mail($recepient, $pagetitle, $message, $headers);
Header(“Refresh: 8; URL=”.$_SERVER[‘HTTP_REFERER’]);
?>

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

$recepient = “ваша@почта.com”;

Эти три строчки отвечают за прием данных из полей “имя”, “телефон” и “е-мейл” в форме обратной связи на нашем лендинге и тут мы и указываем в квадратных скобках те идентификаторы, которые стоят у нас в форме в теге <input>.

Как вы помните это name=”name” для поля Имя, name=”telefon” для поля Телефон и name=”e-mail” для поля е-мейл, его я обнаружил в нашем примере в другой форме на сайте.

В обработчике мы также создаем под них свои переменные $name, $phone, $email и обрабатываем POST запрос идентифицируя эти данные по данным из поля name.

идентификаторы поля name

Далее в переменной $message формируется тело входящего письма, где будет прописано что это за поле и какая переменная должна туда попасть.

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

заголовок письма-отправка-редирект

Так как в нашем файле описана процедура простой отправки данных с формы, без использования таких технологий как например ajax (отправка данных без перезагрузки страницы), то пользователю после заполнения и отправки формы откроется наша страница zakaz.php, а она у нас пустая, т.е никакого контента для клиента мы там не создали. У нас есть стандартная заготовка для страницы благодарности, вот этот код мы туда и добавим, в итоге, после отправки данных пользователю откроется вот такая страничка.

письмо благодарность

И через 8 секунд, сработает редирект на главную страницу нашего сайта. А вы получите на е-мейл вот такое сообщение:

заявка с сайта

После того, как вы создали свой файл php обработчик, нажмите в Notepad++, “Файл->Сохранить как” и выберите расширение PHP.

Далее загрузите ваш файл в корневую папку сайта, воспользовавшись web проводником, например все тем же FileZilla.

Проверьте вашу форму на работоспособность!

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

Если у вас возникла такая ошибка, снова откройте созданный ранее php файл обработчик в Notepad++, нажмите “Кодировки” и сохраните его в UTF-8, проверьте, если не помогло, то сохраните в кодировке UTF-8 (без BOM). Ошибка должна исчезнуть!

верная кодировка файла php

На этом работа окончена! Думаю что статья должна вам помочь решить задачу с получением писем заявок с вашего нового сайта.

Если вы испытываете сложности в создании php файла обработчика данных, то можете скачать мой вариант и внести в него свои правки, кстати как и обещал, в нем присутствует html код страницы благодарности! Скачать файл zakaz.php.

Всегда рад вашим комментариям ниже! Спасибо и удачи!

Рейтинг
( 1 оценка, среднее 5 из 5 )
Эльдар/ автор статьи
Обо мне можно прочитать здесь "О проекте"
Понравилась статья? Поделиться с друзьями:
Как работать.ру
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: