我有一个页面(index.php),它从URL中取出一个GET
变量并检查它是否出于安全目的。这个GET
变量只能是一个整数。我使用下面的代码来检查这一点,但在所有情况下,整数或不是,我得到index.php页面。标题从不出现。在此代码之后,页面的其余部分以html
标签开始。PHP is_int未按预期执行
PHP:
<?php ob_start(); session_start();
$q=trim($_GET['q']);
if (!is_numeric($q)){
header("HTTP/1.0 404 Not Found");
}
?>
我不知道你是否已经知道了,但是你应该在'header(..)'之后添加'exit();'。否则,该脚本将继续打印出页面内容。 – laher
阅读[文档](http://php.net/manual/en/function.is-int.php)会告诉你,'is_int()'检查变量的类型,所以用“'123 ''变成'is_int()'不会返回'true',因为这是字符串。你为什么用'http-status-code-404'标记你的帖子? – Tadeck
@Tadeck标签已删除。谢谢你的文档。即时通讯现在使用is_numeric,它仍然没有工作 – kirby