beget banner 468x60beget banner 728x90beget banner 930x180kwork banner 468x60kwork banner 728x90kwork banner 930x180etxt banner 468x60etxt banner 728x90etxt banner 930x180

Руководство по обработке форм в PHP

В этом руководстве мы собираемся создать простую контактную HMTL-форму, которая позволяет пользователям вводить свои комментарии и отзывы, а затем отображать их в браузере с помощью PHP.

Откройте ваш любимый редактор кода и создайте новый PHP-файл. Теперь введите следующий код и сохраните этот файл как contact-form.php в корневом каталоге вашего проекта.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Contact Form</title>
</head>
<body>
    <h2>Связаться с нами</h2>
    <p>Заполните эту форму.</p>
    <form action="process-form.php" method="post">
        <p>
            <label for="inputName">Имя:<sup>*</sup></label>
            <input type="text" name="name" id="inputName">
        </p>
        <p>
            <label for="inputEmail">Email:<sup>*</sup></label>
            <input type="text" name="email" id="inputEmail">
        </p>
        <p>
            <label for="inputSubject">Тема:</label>
            <input type="text" name="subject" id="inputSubject">
        </p>
        <p>
            <label for="inputComment">Сообщение:<sup>*</sup></label>
            <textarea name="message" id="inputComment" rows="5" cols="30"></textarea>
        </p>
        <input type="submit" value="Отправить">
        <input type="reset" value="Очистить">
    </form>
</body>
</html>

Обратите внимание, что в открывающем теге <form> есть два возможных атрибута:

  • Атрибут action ссылается на PHP-файл process-form.php, который получает данные, введенные в форму, когда пользователь отправляет их, нажимая кнопку отправки.
  • Атрибут method сообщает браузеру отправлять данные формы через метод POST.

Остальные элементы внутри формы — это базовые элементы управления формы для получения введенных пользователем данных. Чтобы узнать больше об элементах HTML-форм, ознакомьтесь с Руководством по формам в HTML.

Сбор данных формы с помощью PHP

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

Переменные Описание
$_GET Содержит список всех имен полей и значений, отправленных формой с помощью метода get (т.е. через параметры URL).
$_POST Содержит список всех имен полей и значений, отправленных формой с использованием метода post (данные не будут отображаться в URL).
$_REQUEST Содержит значения переменных $_GET и $_POST, а также значения суперглобальной переменной $_COOKIE.

Когда пользователь отправляет указанную выше контактную форму, нажав кнопку отправки, данные формы отправляются в файл process-form.php на сервер для обработки. Он просто фиксирует информацию, отправленную пользователем, и отображает ее в браузере.

PHP-код файла process-form.php будет выглядеть примерно так:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Contact Form</title>
</head>
<body>
    <h1>Спасибо</h1>
    <p>Вот информация, которую вы отправили:</p>
    <ol>
        <li><em>Имя:</em> <?php echo $_POST["name"]?></li>
        <li><em>Email:</em> <?php echo $_POST["email"]?></li>
        <li><em>Тема:</em> <?php echo $_POST["subject"]?></li>
        <li><em>Сообщение:</em> <?php echo $_POST["message"]?></li>
    </ol>
</body>
</html>

Приведенный выше PHP-код довольно прост. Поскольку данные формы отправляются через метод post, вы можете получить значение определенного поля формы, передав его имя в суперглобальный массив $_POST и отобразить каждое значение поля с помощью оператора echo().

В реальном мире нельзя доверять вводимым пользователем данным; вы должны реализовать своего рода проверку — валидацию формы, чтобы фильтровать вводимые пользователем данные перед их использованием. В следующей главе руководства вы узнаете, как очистить и проверить данные этой контактной формы и отправить их по электронной почте с помощью PHP.

etxt banner 480x320etxt banner 728x90etxt banner 120x600flexbe banner 480x320flexbe banner 728x90flexbe banner 120x600skillbox banner 480x320skillbox banner 728x90skillbox banner 120x600

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 3

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Руководство по загрузке файлов на сервер в PHP

В этом руководстве мы узнаем, как загружать файлы на удаленный сервер с помощью простой HTML-формы и PHP. Вы можете загружать файлы любого типа, например изображения, видео, ZIP-файлы, документы Microsoft Office, PDF-файлы, а также исполняемые файлы и множество других типов файлов. Шаг 1. Создание HTML-формы для загрузки файла В следующем примере будет создана простая HTML-форма, которую…
Подробнее

Руководство по GET и POST запросам в PHP

Веб-браузер связывается с сервером, как правило, с помощью одного из двух HTTP-методов (протокола передачи гипертекста) — GET и POST. Оба метода передают информацию по-разному и имеют разные преимущества и недостатки, как описано ниже. PHP-метод GET В методе GET данные отправляются в виде параметров URL, которые обычно представляют собой строки пар имени и значения, разделенные амперсандами…
Подробнее

Список сообщений об ошибках в PHP

Обычно, когда движок PHP сталкивается с проблемой, препятствующей правильной работе скрипта, он генерирует сообщение об ошибке. Существует шестнадцать различных уровней ошибок, и каждый уровень представлен целым числом и связанной с ним константой. Вот список уровней ошибок: Название Значение Описание E_ERROR 1 Неустранимая ошибка времени выполнения от которой невозможно избавиться. Выполнение скрипта немедленно прекращается E_WARNING 2…
Подробнее