English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Основной Урок

PHP Уровеньный Урок

PHP & MySQL

PHP Референс Мануал

Обработка форм PHP

В этом руководстве вы узнаете, как использовать суперглобальные переменные PHP $_GET, $_POST и $_REQUEST для сбора данных пользователя, отправленных через форму.

Создание простой контактной формы

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

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

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Форма связи</title>
</head>
    <h2>Свяжитесь с нами</h2>
    <p>Заполните эту форму и отправьте нам.</p>
    <form action="process-form.html" method="post">
        <p>
            <label for="inputName">Имя:<sup>*</sup></label>
            <input type="text" name="name" id="inputName">
        </p>
        <p>
            <label for="inputEmail">Электронная почта:<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>
</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>
<head>
    <meta charset="UTF-8">
    <title>Форма связи</title>
</head>
    <h1>Спасибо</h1>
    <p>Вот информация, которую вы отправили:</p>
    <ol>
        <li><em>Имя:</em> <?php echo $_POST["name"]?></li>
        <li><em>E-mail:</em> <?php echo $_POST["email"]?></li>
        <li><em>Тема:</em> <?php echo $_POST["subject"]?></li>
        <li><em>Сообщение:</em> <?php echo $_POST["message"]?></li>
    </ol>
</html>

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

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