Простая проверка данных

1. ШЕДЕВР (26.01.2014 / 10:03)
в переменной $promo должно быть число от 1 до 10.

делаю проверку...

$promo=intval($_POST['promo']);
if($promo==""){...error...

Получается если системе подсунут не число, то система выдаст ошибку. НО, а если подсунут 11 или другое число, не от 1 до 10...

Как сделать проверку?

Обычно я делал if($promo==1 and $promo==2... но это костыль...

Поделитесь как избежать этого костыля?)))))

СПАСИБО

2. TRAIL (26.01.2014 / 10:13)
if($promo < 1 or $promo > 10) { error... }

3. Алексей (26.01.2014 / 13:25)
если я правельно понял, то нужна проверка переменной на число?
<?php
$promo = '123';
if(preg_match('|^[\d]*$|', $promo)){
echo 'good';
}
else{
echo 'error';
}
?>

Добавлено через 03:54 сек.
или я не проснулся и нужно сделать проверку на диапазон чисел от 1 до 10?nozh

4. ШЕДЕВР (26.01.2014 / 21:10)
2, как легко)) не додумался. Спасибо большое!

3, ничего бывает :-) кстати зачем использовать регулярку, когда всё решает intval() ?))))

5. Антон (26.01.2014 / 22:34)
1. Moto-Moto, is_integer () проверка для числовых значений, а дальше проверяешь диапазон.

6. ramzes (27.01.2014 / 00:42)
5. WmLiM, проверяя интервал ты автоматом зарежешь строку, так что проверять тип переменной необязательно.
разве что для чистоты кода

URL: https://visavi.net/topics/39966