|
|
|
| В скрипт передается переменная, и потом проверяется является ли она числом с помощью is_numeric. Всё идет нормально. Но когда переменная содержить значения "0", то уже выдает ошибку, в смысле, на основании того, что переменная не числового типа. Почему это происходит? | |
|
|
|
|
|
|
|
для: nickson
(03.12.2006 в 17:12)
| | Пробуй так!
| |
|
|
|
|
|
|
|
для: Fli
(03.12.2006 в 17:29)
| | Не получается. Сделал так -
<?
if(isset($_POST['use_st_1']))
{
if(!intval($_POST['st_1']))
{
if(intval($_POST['st_1']))
{
$st_1=$_POST['st_1'];
}
else
{
$stop=true;
?><b><center><font color=red>Значение одного или нескольких полей являются неверными</font></center></b><?
}
}
else
{
$stop=true;
?><b><center><font color=red>Вы не заполнили одно или несколько необходимых полей</font></center></b><?
}
}
?>
|
Здесь в любом случае (даже если поле пустое) одобряет проверку if(!intval($_POST['st_1'])), но тут же дальше по проверке if(intval($_POST['st_1'])), которая по-сути является оборотной к предыдущей, уже реагирует по-другому, и идёт на ошибку.. Не знаю что и делать.
А изначально у меня было так:
<?
if(isset($_POST['use_st_1']))
{
if(isset($_POST['st_1']))
{
if(is_numeric($_POST['st_1']))
{
$st_1=$_POST['st_1'];
}
else
{
$stop=true;
?><b><center><font color=red>Значение одного или нескольких полей являются неверными</font></center></b><?
}
}
else
{
$stop=true;
?><b><center><font color=red>Вы не заполнили одно или несколько необходимых полей</font></center></b><?
}
}
else
{
$st_1='-';
}
?>
|
| |
|
|
|
|
|
|
|
для: nickson
(04.12.2006 в 14:13)
| | intval выплолняет не проверку, а преобразование к int. | |
|
|
|
|
|
|
|
для: Trianon
(04.12.2006 в 14:25)
| | А... Тепер понятно, я то думаю.. | |
|
|
|
|
|
|
|
для: nickson
(04.12.2006 в 14:29)
| | Понятно. Ошибка моя была в том, что я использовал проверку на !empty, а нужно было использовать isset. Просто.. не знаю то ли раньше я использовал и что-то не так работало, то ли раньше я какую-то ошибку сделал, и что-то там не работало.. Факт того, что стал чаще использовать именно empty вместо isset. Получается, функция empty приверяет не пусто ли значение, тоесть, даже если оно и не совсем пустое, но обозначает его, тоесть тот же "0", то это тоже считается пустым значением. | |
|
|
|