English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве вы узнаете, как использовать суперглобальные переменные 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-формаУрок.
Чтобы получить значение определенного поля формы, можно использовать следующие суперглобальные переменные. Эти переменные доступны во всех областях действия скрипта.
Суперглобальные переменные | Описание |
---|---|
$_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 для их отправки по электронной почте.