gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 12:40:15 24 4
gpt4 key购买 nike

这是我的代码:

<?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 日编辑了帖子,因为它仍在接受投票,而且措辞有些困惑。)

关于php - is_int() 无法在 PHP 中检查 $_GET?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3135068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com