В этом руководстве мы собираемся создать простую контактную 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.