Пробовал сделать таким способом
//Проверяем тип переменной id, если это не число выводим страницу 404
$get_string = gettype($_GET["id"]);
if ($get_string != "integer")
{
header("HTTP/1.1 404 Not Found");
exit(file_get_contents('./404.html'));
}
Однако, как я понял из массива $_GET переменная уже поступает в виде строки и выдает тип "string".
Может кто-нибудь поможет решить эту проблему или посоветует другой способ реализации этой задумки?
Спустя 1 минута, 15 секунд (23.02.2011 - 14:26) nugle написал(а):
is_int();
Спустя 6 минут, 35 секунд (23.02.2011 - 14:33) Sanches написал(а):
Цитата |
is_int(); |
Не совсем понял???
Спустя 49 секунд (23.02.2011 - 14:33) Zerstoren написал(а):
Ммм, переменные в _GET всегда содержат строку.
сделай просто
$int = (int) $_GET['id'];
и у тебя 100% будут попадать только числа.
сделай просто
$int = (int) $_GET['id'];
и у тебя 100% будут попадать только числа.
Спустя 8 минут, 59 секунд (23.02.2011 - 14:42) alex12060 написал(а):
(int)$_GET['id'];
Спустя 4 минуты, 53 секунды (23.02.2011 - 14:47) nugle написал(а):
кстати да, а потом проверять is_int();
Спустя 10 минут, 35 секунд (23.02.2011 - 14:58) Sanches написал(а):
Это понятно, но если из файла не число придет? Тип то все равно int останется.
Спустя 12 минут, 3 секунды (23.02.2011 - 15:10) eXaM написал(а):
Можно еще is_numeric() задействовать. Если строкой записано число — эта функция вернет true.
Спустя 7 минут, 52 секунды (23.02.2011 - 15:18) Sanches написал(а):
Ребята всем спасибо огромное, заработало!!!! is_numeric() сработала)))
Спустя 16 минут, 34 секунды (23.02.2011 - 15:34) Dron19 написал(а):
$int = (int) $_GET['id']; - так просто делать нельзя, а если число стоит в середине скажем строки? Ну то есть передают строку и посередине число, то все!
Да и gettype не рекомендуется использовать для выявления типа переменной, гораздо быстрей и лучше будет действовать функции is_nan - is_integer - is_int - is_numeric
Да и gettype не рекомендуется использовать для выявления типа переменной, гораздо быстрей и лучше будет действовать функции is_nan - is_integer - is_int - is_numeric
Спустя 18 часов, 38 минут, 23 секунды (24.02.2011 - 10:13) linker написал(а):
Dron19
Если число в середине, то результат будет '0'. Важно какое число стоит в самом начале строки.
Если очень хочется проверить на строку на предмет наличия только цифирь, то is_numeric() самое то.
Если число в середине, то результат будет '0'. Важно какое число стоит в самом начале строки.
Если очень хочется проверить на строку на предмет наличия только цифирь, то is_numeric() самое то.