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

Обычно, на сайте всегда есть страница с контактными данными фирмы или автора блога, а также присутствует некая форма для общения с администратором сайта. Вот эта форма и есть форма обратной связи, ее также называют и контактная форма. В этой статье я вам покажу, как реализовать данную форму с помощью html и php, используя функцию mail().
Первым делом создаем новый файл с именем contact.php. Открываем этот файл и создаем в нем html каркас нашей формы обратной связи. Внутри тега <body> пишем следующий код:
<h1> Форма обратной связи </h1> <form action="<?=$_SERVER[ ' PHP_SELF ' ]?>" name="myForm" method="post" > <table> <tr> <td>Имя: </td> <td> <input type="text" name="name" required=" " value="<?=$_POST[ ' name ' ]?>"/> </td> </tr> <tr> <td>E-mail: </td> <td> <input type="text" name="email" required=" " value="<?=$_POST[ ' email ' ]?>"/> </td> </tr> <tr> <td>Тема: </td> <td> <input type="text" name="subject" required=" " value="<?=$_POST[ ' subject ' ]?>"/> </td> </tr> <tr> <td>Сообщение: </td> <td> <textarea cols="30" rows="5" name="message" required=" "> <?=$_POST[ ' message ' ]?> </textarea> </td> </tr> <tr> <td colspan="2" > <input type="submit" name="send" value="Отправить"/> </td> </tr> </table> </form>
Если у Вас есть, желание научится, создавать такие формы то я Вам советую написать код ручками, а не просто скопировать и вставить.
Вот как выглядит эта простая форма обратной связи:

А теперь давайте разберемся с некоторыми элементами в коде, которого написали выше.
$_SERVER['PHP_SELF'] – Элемент, в котором находится адрес текущего файла, относительно корня сайта.
Атрибут required="" тега input, делает поле обязательным для заполнения. Этот атрибут появился в HTML5, поэтому он не поддерживается браузерами Safari и Internet Explorer версиями ниже 10.
Также есть такой важный момент. Мы написали внутри атрибута value такое значение <?=$_POST['email']?>. Это делается для того чтобы пользователь не ввел заново всю информацию в случае если при отправке формы возникнет какая не будь ошибка. Таким образом, мы упростили ему жизнь и сберегли ему нервы :).
После нажатья на кнопку Отправить, все данные отправляются обработчику, адрес которого указали в значение атрибута action тега form. В нашем случае обработчиком является текущий файл.
После обработки, данные будут отправлены администратору на email.
Обработчик формы обратной связи
Сейчас мы займемся обработкой данных, которые были отправлены из формы. И так, c самого начала документа, перед тегом <html>, пишем следующий код:
<?php // Проверяем, если была нажата кнопка отправить то идем дальше. if(isset($_POST["send"])){ /* Присваиваем переданные данные обычным переменным. Таким образом, мы застрахуемся от хостингов, которые не поддерживают глобальные переменные. */ if(isset($_POST["name"])){ $name = $_POST["name"]; } if(isset($_POST["email"])){ $email = $_POST["email"]; } if(isset($_POST["subject"])){ $subject = $_POST["subject"]; } if(isset($_POST["message"])){ $message = $_POST["message"]; } /* Объявляем переменную, в которой содержится email администратора, которому отправим письмо. */ $to = "admin152@mail.ru"; /* Перед тем как отправить письмо, проверяем, если были заполнены все поля формы. Это делается для браузера Safari и Internet Explorer ниже 10-той версий, так как они не поддерживают атрибут required тега input */ if($name == " ") echo "<strong>Ошибка:</strong> Вы не указали Ваше имя. <br />"; if($email == " ") echo "<strong>Ошибка:</strong> Вы не указали Ваш E-mail. <br />"; if($subject == " ") echo "<strong>Ошибка:</strong> Вы не указали тему сообшения. <br />"; if($message == " ") echo "<strong>Ошибка:</strong> Вы нам написали пустое сообщение. <br />"; ?>
Если все поля заполнены, то можем заняться отправкой письма.
Отправка электронной почты
Письмо отправим с помощью функций mail(), в которой передаем следующие параметры: имя, адрес электронной почты, тема письма и текст письма.
И так, в том же файле contact.php пишем следующий код:
<?php // Если все поля заполнены, то можем отправлять письмо . if($name != " " && $email != " " && $subject != " " && $message != " "){ $header = "От: $name <$email>"; // Указываем имя и email отправителя. // Отправляем письмо $send = mail($to,$subject,$message,$header); if($send) echo "Письмо отправлена успешно!"; else echo "Ошибка при отправке письма."; } }// Закрываем блок if (isset($_POST["send"])) ?>
Функция mail() возвращает значение 1 если письмо отправлено успешно и значение 0 в противном случае.
На этом все. Теперь вы знаете, как создать форму обратной связи и как она работает. Вы сможете использовать ее на Вашем сайте. Всем удачи!
Понравилась статья?
Тогда поделитесь ею с друзьями и подпишитесь на новые интересные статьи.
Поделиться с друзьями:
Подписаться на новые статьи:
Поддержите пожалуйста мой проект!
Если у Вас есть какие-то вопросы или предложения, то можете писать их в комментариях или мне на почту sergiu1607@gmail.com. И если Вы заметили какую-то ошибку в статье, то прошу Вас, сообщите мне об этом, и в ближайшее время я всё исправлю.
Добавляйтесь ко мне в друзья в:
Добавляйтесь в мои группы:
Подпишитесь на мои каналы:
Автор статьи: Мунтян Сергей
Копирование материалов с сайта sozdatisite.ru ЗАПРЕЩЕНО!!!
Дата добавления: 2015-12-12 09:00:00