Простая проверка данных
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?
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