[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Фильтрация данных формы
Raymond
К примеру, у меня есть форма, где пользователь из тега select name = 'country' может выбрать страну проживания. Т.к. форму можно подделать, и в $_POST["county"] мне может прилететь что угодно, то стоит ли проверять этот самый $_POST["county"] на наличие в массиве с названиями стран?

и если нет, то какая практика в таких случаях применяется? Как проверять данные на соответствие определенному набору значений?
Ron
Это называется валидацией.

Процесс, условно, выглядит следующим образом. Сначала форма проверяется простыми правилами: наличие обязательных полей, их тип, минимальные-максимальные значения (число) или длинна (строка), допустимые символы (пароль), корректность структуры почтового адреса и т.д.

Если первая проверка прошла успешно, можно переходить к проверке "смыслового" содержания. Этот этап, как правило, тесно связан с БД и нацелен на сохранение консистентности данных. Благо таких полей в формах обычно немного.

Вам нужно проверять не само слово (название страны) а существование соответствующего ID в справочнике стран. Ну или ключа массива, тут смотря какая задача, может быть база данных и не нужна, если это что-то совсем простое, типа формы обратной связи, которая отсылает данные сразу на почту.

Но вообще-то вангую неправильную архитектуру БД вашего проекта.
inpost
Raymond
Конечно надо проверять. Где хранишь название стран - с тем и сверяй.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.