|
|
|
| Вот часть скрипта, который не работает:
<?
if(!is_int($_GET['foo'])) die("Это не целое цисло! -".$_GET['foo']."-");
?>
|
Почему-то всегда выдаёт "Это не целое число", что бы я ни написал в переменной $foo...
Для проверки, сделал даже вывод этой переменной - все чистенько, выводится, как надо!
Помогите, в чём может быть дело? | |
|
|
|
|
|
|
|
для: Freddie_X
(12.02.2008 в 17:19)
| | смотрим сюда
http://ru2.php.net/manual/ru/function.is-int.php
и видим это
Note: To test if a variable is a number or a numeric string (such as form input, which is always a string), you must use is_numeric().
|
короче - юзай is_numeric() | |
|
|
|
|
|
|
|
для: Freddie_X
(12.02.2008 в 17:19)
| | if(!intval$_GET['foo'])).... так как-то | |
|
|
|
|
|
|
|
для: Freddie_X
(12.02.2008 в 17:19)
| |
<?
$id = ((isset($_GET['id'])) && ($_GET['id'] == (int)$_GET['id'])) ? (int)$_GET['id'] : null;
if ($id === null) echo 'error';
?>
|
| |
|
|
|
|
|
|
|
для: mihdan
(12.02.2008 в 18:59)
| |
foreach ($_GET as $key => $val) {
$_GET[$key] = ereg_replace("[^A-Za-z^0-9]", "", $val);
}
|
| |
|
|
|
|
|
|
|
для: moonfox
(12.02.2008 в 19:24)
| | Вот мой вариант:
<?
$_GET['foo'] = 10;
if(!is_numeric($_GET['foo'])) die("Это не целое цисло! -".$_GET['foo']."-");
?>
|
| |
|
|
|
|
|
|
|
для: mihdan
(12.02.2008 в 18:59)
| | mihdan, спасибо!
is_numeric почему-то не сработал... | |
|
|
|
|
|
|
|
для: Freddie_X
(12.02.2008 в 20:14)
| | is_numeric не сработал потому-что воспринимается дробная часть | |
|
|
|