Упражнялся с конструкцией if. Придумал себе задачку. Два класса: в первом столько-то учеников, во втором столько-то. (Кол-во учеников вводится через форму). И в зависимости от цифр, вводимых в каждом из полей, выполняются различные инструкции.
проблема в следующем:
при первой загрузке страницы с формой должна выводиться, собственно, сама форма и фраза "Введите данные...", а при вводе нулей в каждое из полей - фраза "вот незадача... место есть, учиться некому."
А выводится форма и фраза "Введите данные...вот незадача... место есть, учиться некому."
Вот собственно код, точнее та его часть, где проблема:
часть I
<?php
$class1='';
$class2='';
if($_SERVER['REQUEST_METHOD']=="POST"){
$class1=abs((int)$_POST['number1']);
$class2=abs((int)$_POST['number2']);
}
?>
<form action=<?=$_SERVER['PHP_SELF']?> method='post'>
<input type='text' name='number1'><br>
<input type='text' name='number2'><br>
<input type='submit'>
</form>
<?php
if(!$class1 and !$class2){
echo "Введите данные...";
}elseif($class1 && $class2 and $class1==$class2){
echo "В первом и втором классах было по $class1 человек.<br>";
}elseif($class1 and $class2){
echo "В первом классе было $class1 человек. Во втором - $class2<br>";
}
?>
часть II
<?php
if($class1+$class2==0){
echo "вот незадача... место есть, учиться некому.";
}elseif($class1+$class2==1){
echo "Даешь каждому желающему по отдельной школе!";
}elseif(($class1+$class2)>80){
echo "И тут преподавателей осенило, что в ближайшем будущем им понадобится как минимум еще один этаж, как максимум - новая школа.";
}
if(($class1+$class2)<20 and ($class1+$class2)>1){
include "not_enough.inc.php";
}
?>
Я понимаю, что при первой загрузке формы, исходя из моего кода, каждой из переменных присваивается пустая строка (а без этого при первой загрузке страницы с формой выдается тот же текст вперемешку с кучей ошибок типа Notice: Undefined variable...), то есть false, а значит 0.
Вот и получается, что при первой же загрузке формы выполняется условие:
<?php
if($class1+$class2==0){
echo "вот незадача... место есть, учиться некому.";
}
?>
и условие
<?php
if(!$class1 and !$class2){
echo "Введите данные...";
}
?>
Понимать-то я это понимаю, а вот как добиться того, чтобы в случае пустой формы выводилась фраза "Введите данные...", а в случае, когда пользователь вводит в поля нули - "вот незадача... место есть, учиться некому." не знаю. Знаний мало.
Буду очень благодарен за любой совет. :)