вход фильтра — Должен ли я использовать PHP filter_input для проверки существования переменных Post?

Я только начал использовать netbeans для кодирования PHP и заметил, что получаю несколько предупреждений о том, что я не должен использовать суперглобальные переменные, такие как $ _POST. Вместо этого я должен использовать фильтры.

Я провел некоторые исследования filter_input и в значительной степени это понимают, но у них есть вопрос, касающийся одной конкретной имплиментации — проверки существования переменной.

Если мой код в настоящее время выглядит так:

if(isset($_POST['name'])) {
... do something ...
}

Я знаю, что могу вместо этого использовать:

if(filter_has_var(INPUT_POST, 'name')) {
... do something ...
}

Но что, если я хочу просто проверить наличие любых переменных POST. т.е .:

if(isset($_POST)) {
.. do something ...
}

Использование приведенного ниже кода, кажется, работает, но я не хочу идти дальше и использовать его, не понимая, что это делает, или если это даже правильно.

if(filter_input(INPUT_POST)) {
... do something ...
}

Кто-нибудь может дать совет? Благодарю.

1

Решение

Извините за опоздание, но я искал тот же ответ. Я обнаружил, что мы можем использовать filter_input_array, где определение может быть константой фильтра, такой как FILTER_SANITIZE_STRING, потому что все элементы $ _POST являются строками.

if (filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING)) {
... do something ...
}

И я проверил также ваш предложенный код

if(filter_input(INPUT_POST)) {
... do something ...
}

и filter_input (INPUT_POST) всегда возвращает NULL, и отображается предупреждение, потому что filter_input ожидает как минимум два параметра.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]