При создании динамичных веб-сайтов важно уметь взаимодействовать с пользователем — принимать от него информацию, обрабатывать её и возвращать результат. Самый распространённый способ получить данные от пользователя — это HTML-форма. С её помощью можно отправить текст, выбрать опции, отправить файлы и многое другое.
В этом уроке мы рассмотрим, как создавать формы с помощью HTML и как обрабатывать введённые данные на стороне сервера с помощью языка PHP.
Что такое HTML-форма?
HTML-форма — это структура на веб-странице, предназначенная для ввода данных пользователем. Простейшая форма включает в себя поля ввода, кнопки, переключатели и флажки.
Пример формы:
<form action="process.php" method="post">
<label>Ваше имя:</label>
<input type="text" name="name">
<br>
<label>Ваш e-mail:</label>
<input type="email" name="email">
<br>
<input type="submit" value="Отправить">
</form>
Ключевые атрибуты формы:
- action — указывает, на какой файл будут отправлены данные (обычно файл PHP);
- method — определяет способ отправки: post или get.
Отличие между GET и POST
Метод |
Особенности |
GET |
Данные видны в URL. Подходит для поиска, фильтрации. Ограничение по длине. |
POST |
Данные скрыты от пользователя. Подходит для отправки форм с конфиденциальной информацией. |
Обработка данных в PHP
Чтобы получить данные, отправленные через форму, в PHP используются суперглобальные массивы:
- $_GET — для данных, отправленных методом GET;
- $_POST — для данных, отправленных методом POST.
Пример обработки:
<?php
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$name = $_POST["name"];
$email = $_POST["email"];
echo "Привет, $name!<br>";
echo "Мы отправим письмо на адрес: $email";
}
?>
Важно! Перед использованием данных, полученных от пользователя, их необходимо проверять и очищать, чтобы избежать уязвимостей, таких как XSS или SQL-инъекции.
Чтобы опробовать примеры из данного урока, вам нужно открыть редактор кода, или IDE. Например: Visual Studio Code с установленными пакетами Live Server, PHP Intelephense, PHP Server. В прочем вы сами решаете, где будете писать свой код.
Проверка и очистка данных
Для безопасности стоит использовать функции:
$name = htmlspecialchars(trim($_POST["name"]));
$email = htmlspecialchars(trim($_POST["email"]));
Функция trim() — удаляет пробелы по краям.
Функция htmlspecialchars() — преобразует специальные символы в безопасные HTML-сущности.
Полезные элементы форм
- Пароль:
<input type="password" name="password">
2. Флажок:
<input type="checkbox" name="subscribe" value="yes"> Подписаться
3. Переключатели (radio):
<input type="radio" name="gender" value="male"> Мужской
<input type="radio" name="gender" value="female"> Женский
4. Выпадающий список:
<select name="country">
<option value="ru">Россия</option>
<option value="us">США</option>
</select>
Отправка формы на ту же страницу
Иногда удобно обрабатывать форму в том же файле. В этом случае action можно указать так:
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
В этом уроке мы узнали, как с помощью HTML создавать формы для ввода данных и как с помощью PHP эти данные принимать и обрабатывать. Это один из ключевых навыков для создания интерактивных веб-приложений.
Вы теперь умеете:
- создавать HTML-формы;
- использовать методы GET и POST;
- получать и очищать данные на сервере;
- выводить результаты пользователю.
На следующем уроке мы поговорим о комментариях в коде, чтобы понять в каких целях их применяют.
0 Комментарий(я)
Зарегистрируйтесь чтобы оставить комментарий