$num = $_POST['num'];
if(filter_input(INPUT_POST,'num', FILTER_VALIDATE_INT, array("options"=>array("min_range"=>5, "max_range"=>20)))===false) {
echo "Write a valid number between 5 and 20";
} else {
echo 'Great, your number is: '.$num;
}
Есть много глаголов, которые вы можете использовать для передачи информации между вашим веб-сайтом и вашим приложением, возможно, наиболее часто используемые — это GET и POST, GET-запросы — это те, которые вы видите в URL, обычно они идут после? Символ, POST-запросы с другой стороны не отображаются в URL, но данные отправляются «скрытыми», в этом случае вы можете видеть, что вы используете:
$num = $_POST['num']
если это работает, потому что на вашей странице HTML, или на той же странице PHP, у вас есть что-то вроде
<form action="mypage.php" method="post">
таким образом, вы можете получить эту информацию через _POST, а не _GET, используемый метод / глагол должен совпадать с обеих сторон.
Если вы попытаетесь получить значение в _GET, оно будет недоступно, поэтому фильтр не пройдет проверку http://php.net/filter_input, в нем четко говорится:
или NULL, если переменная variable_name не установлена
вы выполняете ===
сравнение, которое не вернет false, но в этом случае NULL, и поэтому единственный доступный код, который должен быть выполнен, — это else
часть!
Других решений пока нет …