У меня есть страница (index.php), которая принимает переменную GET
URL-адрес и проверяет ее в целях безопасности. Эта переменная 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");
}
?>
Я не знаю, знаете ли вы уже, но вы должны добавить 'exit();' после 'header (..)'. В противном случае скрипт будет продолжать печатать содержимое страницы. – laher
Чтение [документация] (http://php.net/manual/en/function.is-int.php) покажет вам, что 'is_int()' проверяет тип переменной, поэтому строка с символом '' 123 '' в 'is_int()' не вернет 'true', так как это строка. Кроме того, почему вы пометили свое сообщение «http-status-code-404»? – Tadeck
@Tadeck tag удален. благодарю вас за эту документацию. im теперь использует is_numeric и он все еще не работает – kirby