is_int()无法在PHP中检查$_GET?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了is_int()无法在PHP中检查$_GET?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的代码
<?PHP
$id = $_GET["id"];

if (is_int($id) === FALSE)  {
    header('HTTP/1.1 404 Not Found');
    exIT('404,page not found');
    }
?>

它总是进入if.

is_int检查数据类型是否为整数,但$_GET中的所有内容都是字符串.因此,它总是会返回false.

在紧要关头,您可以转换为整数,然后检查!= 0.

$id = isset($_GET['id']) ? (int) $_GET['id'] : null;

if (!$id) { // === 0 || === null
  header('HTTP/1.1 404 Not Found');
  exit('404,page not found');
}

但是更强大的解决方案将涉及某种类型的输入字符串验证/过滤,如PHP的内置filter_input_array().

(10月13日编辑,因为它仍然收到了赞成票,而且措辞有些令人困惑.)

脚本宝典总结

以上是脚本宝典为你收集整理的is_int()无法在PHP中检查$_GET?全部内容,希望文章能够帮你解决is_int()无法在PHP中检查$_GET?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。