Как получить данные формы
Короткий ответ
Данные формы с методом post лежат в массиве $_POST под именами полей. Поля может не быть, поэтому подставьте значение по умолчанию:
<?php
$name = trim($_POST['name'] ?? '');
echo $name === '' ? 'empty' : $name;Из адреса
Параметры после знака вопроса попадают в $_GET:
<?php
$page = filter_var($_GET['page'] ?? 1, FILTER_VALIDATE_INT) ?: 1;
echo $page;Проверка
Проверяйте каждое поле и собирайте ошибки в массив:
<?php
$input = ['name' => '', 'email' => 'anna@example'];
$errors = [];
if (trim($input['name']) === '') {
$errors['name'] = 'Name is required';
}
if (filter_var($input['email'], FILTER_VALIDATE_EMAIL) === false) {
$errors['email'] = 'Invalid email';
}
echo json_encode($errors);Результат:
{"name":"Name is required","email":"Invalid email"}Функции из этого ответа
- trim — Удаляет пробелы и другие символы с начала и конца строки.
- filter_var — Проверяет или очищает значение по заданному правилу.
- htmlspecialchars — Заменяет специальные символы HTML на безопасные обозначения.