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

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

Обычно, на сайте всегда есть страница с контактными данными фирмы или автора блога, а также присутствует некая форма для общения с администратором сайта. Вот эта форма и есть форма обратной связи, ее также называют и контактная форма. В этой статье я вам покажу, как реализовать данную форму с помощью 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 в противном случае.

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

Понравилась статья?

Тогда поделитесь ею с друзьями и подпишитесь на новые интересные статьи.

Поделиться с друзьями:

Подписаться на новые статьи:

Delivered by FeedBurner

Поддержите пожалуйста мой проект!

<< Предыдущая статьяСледующая статья >>

Если у Вас есть какие-то вопросы или предложения, то можете писать их в комментариях или мне на почту sergiu1607@gmail.com. И если Вы заметили какую-то ошибку в статье, то прошу Вас, сообщите мне об этом, и в ближайшее время я всё исправлю.

Добавляйтесь ко мне в друзья в:

Добавляйтесь в мои группы:

Подпишитесь на мои каналы:

Автор статьи: Мунтян Сергей

Копирование материалов с сайта sozdatisite.ru ЗАПРЕЩЕНО!!!

Дата добавления: 2015-12-12 04:00:00