📄 Лабораторная работа 5: Работа с формами в PHP 🧪 Описание лабораторной работы Цель лабораторной работы — изучить работу с глобальными переменными $_POST, $_REQUEST, а также создание и обработку HTML-форм в PHP. В ходе лабораторной реализованы четыре задания:
Task 1 (task1_post.php): Обработка и отображение данных, отправленных через форму методом POST.
Task 2 (task2): Форма регистрации на мероприятие в Кишинёве с использованием разных типов элементов управления.
Task 3 (task3): Создание формы обратной связи с валидацией всех полей, включая проверку email, имени, комментария и обязательное согласие на обработку данных.
Task 4 (task4): Реализация теста из 3 вопросов с использованием radio/checkbox, подсчёт правильных ответов и отображение результата.
⚙️ Инструкции по запуску проекта Требования: Web-сервер с поддержкой PHP (например, Apache)
PHP 7.0 или выше
Запуск: Скопируйте содержимое папки проекта в директорию сервера (например, htdocs/lab5/).
Откройте браузер и перейдите по одному из путей:
http://localhost/lab5/task1_post.php
http://localhost/lab5/task2.php
http://localhost/lab5/task3.php
http://localhost/lab5/task4.php
📝 Краткая документация к проекту Task 1 — Работа с $_POST Форма обратной связи, включающая поля:
Имя
Радио-кнопки для оценки сервиса
Комментарий
Вывод отправленных данных осуществляется после нажатия кнопки “Отправить” с использованием $_POST.
Task 2 — Регистрация на мероприятие в Кишинёве Форма регистрации включает:
Имя
Возраст (type="number")
Выбор мероприятия (select)
Предпочтения (checkbox)
Пол (radio)
После отправки отображаются все введённые данные.
Task 3 — Форма отзыва с валидацией Форма с полями:
Имя (без цифр, от 3 до 20 символов)
Email (валидный адрес)
Комментарий (обязателен)
Согласие на обработку данных (checkbox)
При некорректном вводе — выводятся сообщения об ошибках. Валидация происходит на серверной стороне.
Task 4 — Тест Простая система тестирования с вопросами:
Что такое PHP?
Какие фреймворки относятся к frontend?
Как расшифровывается SQL?
Используются radio и checkbox. После отправки отображаются правильные и выбранные ответы, а также имя пользователя.
📸 Примеры скриншотов
Task 3 — Форма обратной связи

❓ Ответы на контрольные вопросы
- Что такое $_POST и $_SERVER["PHP_SELF"]?
$_POST — суперглобальный массив, содержащий данные, отправленные методом POST.
$_SERVER["PHP_SELF"] — путь к текущему исполняемому скрипту. Используется как безопасный способ указания action формы.
- Чем отличаются $_POST и $_REQUEST?
$_POST содержит только данные, отправленные методом POST.
$_REQUEST может содержать данные из $_GET, $_POST и $_COOKIE.
- Что делает метод isset() и empty() в PHP?
isset() проверяет, установлена ли переменная.
empty() проверяет, пуста ли переменная (0, '', null и т.п.).
-
Зачем нужна серверная валидация? Клиентскую валидацию можно обойти. Серверная защита необходима для безопасности и целостности данных.
-
Примеры использования различных типов input:
— возраст
— выбор события — предпочтения
— выбор пола или оценки
<textarea> — комментарий 📚 Список использованных источников https://www.php.net/manual/ru/reserved.variables.post.php https://developer.mozilla.org/ru/docs/Web/HTML/Element/Input https://w3schools.com/php/php_forms.asp https://html.spec.whatwg.org/