$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;
}
答案 0 :(得分:0)
您可以使用许多动词在您的网站和您的应用之间发送信息,也许最常用的是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,它明确指出:
如果未设置variable_name变量,则为NULL
您执行的===
比较不会返回false,但在这种情况下为NULL,因此唯一可用的代码是else
部分!