筛选要在PHP中验证和要求的输入

时间:2017-05-19 03:00:03

标签: php validation input

我正在使用PHP和filter_input函数来过滤GET个变量并对其进行验证:

$id = filter_input(INPUT_GET, "id", FILTER_VALIDATE_INT);

但是当URL中没有id参数时,上面的语句会使$id为NULL。

我希望$id成为false时:

  • 它不是有效的整数或
  • $_GET["id"]不存在。

这样,当我想检查$id一般是否有效时,我只会将其与false进行比较。 有没有办法验证输入变量并使用一个语句检查其存在?我认为在上述条件下制作$id NULL会更好,所以没有问题使用布尔输入。

目前我正在使用上述语句和以下if块:

if ($id !== false && $id !== NULL) {
   // statements to run when $id is valid and present
}

1 个答案:

答案 0 :(得分:2)

转过来:filter_input将返回int或两个可能的 falsey 值中的一个。要测试它是否因任何原因失败,或者您有int,请查看您是否获得int

if (is_int($id)) ...

falsenull之间的区别可以让您辨别出如果您愿意,到底出了什么问题。