Проверка поля функцией filter_input

212
23 марта 2017, 22:18

В документации написано, что в параметре options, можно указать логическое ИЛИ, я указал и почему не работает?

    <?php
if($_POST){
    $error = []; //массив для ошибок
    $age = filter_input(INPUT_POST, 'age', FILTER_VALIDATE_INT, 5 || 30);
    if($age === false){
        $error[] = 'Возраст должен быть от 5 и до 30 включительно';
    }
}
?>
<!doctype html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Обработка форм</title>
    </head>
<body>
<?php 
if($_POST){?>
    <?php foreach($error as $error): ?>
        <p><?php echo $error ?></p>
<?php endforeach; }?> 

    <form action="" method="post">
        <label for="name">Имя</label>
        <input type="text" id="name" name="name" placeholder="Введите имя">
        <label for="age">Возраст</label>
        <input type="text" id="age" name="age" placeholder="Введите возраст">
        <input type="submit" value="Отправить">
    </form>
<body>
</html>
Answer 1

ИЛИ работает с предикатами, не с числами

$age = filter_input(INPUT_POST, 'age', FILTER_VALIDATE_INT, 5 )|| $age = filter_input(INPUT_POST, 'age', FILTER_VALIDATE_INT, 30);
Answer 2

Опции задаются таким образом

$age = filter_input(INPUT_POST, 'age', FILTER_VALIDATE_INT, ['options' => ['min_range' => 5, 'max_range' => 30]]);

В документации написано, что в параметре options, можно указать логическое ИЛИ

Логическое ИЛИ относится к флагам, а не опциям, и

Если фильтр принимает параметры, флаги могут быть указаны в элементе массива "flags".

Больше примеров http://php.net/manual/ru/function.filter-input.php

READ ALSO
Блокировка таблиц LOCK WRITE в MySQL

Блокировка таблиц LOCK WRITE в MySQL

Нужно чтобы скрипт на PHP выполнялся 1 раз в 10 секундМне посоветовали использовать LOCK TABLES

210
Свои таблицы БД Wordpress

Свои таблицы БД Wordpress

Требуется: 1Cоздать произвольную таблицу mysql в wordpress

208
Incorrect function result [требует правки]

Incorrect function result [требует правки]

I overloaded operator * for my custom matrix, result inside function is correct, but outside function value at [0][0] is always 0

204
Сумма задача на жадный алгоритм!

Сумма задача на жадный алгоритм!

Всем привет есть задача! Я её решил перебором, но эту задачу нужно решить жадным алгоритмомПожалуйста помогите мне решить эту задачу! И также...

330