[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблемы с пустой формой
Xrum
Всем здравствуйте.
Упражнялся с конструкцией 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 "Введите данные...";
}
?>


Понимать-то я это понимаю, а вот как добиться того, чтобы в случае пустой формы выводилась фраза "Введите данные...", а в случае, когда пользователь вводит в поля нули - "вот незадача... место есть, учиться некому." не знаю. Знаний мало.

Буду очень благодарен за любой совет. :)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.