Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Что-то не то с GET'ом
 
 автор: Freddie_X   (12.02.2008 в 17:19)   письмо автору
 
 

Вот часть скрипта, который не работает:
<?
if(!is_int($_GET['foo'])) die("Это не целое цисло! -".$_GET['foo']."-");
?>

Почему-то всегда выдаёт "Это не целое число", что бы я ни написал в переменной $foo...
Для проверки, сделал даже вывод этой переменной - все чистенько, выводится, как надо!
Помогите, в чём может быть дело?

   
 
 автор: mechanic   (12.02.2008 в 17:27)   письмо автору
 
   для: 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()

   
 
 автор: ZeeG   (12.02.2008 в 18:49)   письмо автору
 
   для: Freddie_X   (12.02.2008 в 17:19)
 

if(!intval$_GET['foo'])).... так как-то

   
 
 автор: mihdan   (12.02.2008 в 18:59)   письмо автору
 
   для: 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';
?> 

   
 
 автор: moonfox   (12.02.2008 в 19:24)   письмо автору
 
   для: mihdan   (12.02.2008 в 18:59)
 

foreach ($_GET as $key => $val) { 
 $_GET[$key] = ereg_replace("[^A-Za-z^0-9]", "", $val); 
}  

   
 
 автор: FireTiger   (12.02.2008 в 19:48)   письмо автору
 
   для: moonfox   (12.02.2008 в 19:24)
 

Вот мой вариант:

<? 
$_GET
['foo'] = 10;
if(!
is_numeric($_GET['foo'])) die("Это не целое цисло! -".$_GET['foo']."-"); 
?>

   
 
 автор: Freddie_X   (12.02.2008 в 20:14)   письмо автору
 
   для: mihdan   (12.02.2008 в 18:59)
 

mihdan, спасибо!
is_numeric почему-то не сработал...

   
 
 автор: Faraon   (12.02.2008 в 21:39)   письмо автору
 
   для: Freddie_X   (12.02.2008 в 20:14)
 

is_numeric не сработал потому-что воспринимается дробная часть

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования