Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Калькулятор
 
 автор: romantik2011   (14.10.2011 в 02:13)   письмо автору
 
 

Хочу проверить каждое поле на пустоту, вот так пробую что-то не срабатывает.


<?php

if(empty($_POST['chislo1']))
echo 
'Пожалуйста, введите Число №1 <br />';

if(empty(
$_POST['chislo2']))
echo 
'Пожалуйста, введите Число №2 <br />';

if(empty(
$_POST['znak']))
echo 
'Введите знак во второе поле <br />';


if(isset(
$_POST['chislo1']) && isset($_POST['chislo2'])
&& 
is_numeric($_POST['chislo1']) && is_numeric($_POST['chislo2'])
&& !empty(
$_POST['znak']) )
{
$ch1 $_POST['chislo1']*1;
$ch2 $_POST['chislo2']*1;
$znak $_POST['znak'];


switch(
$znak){
case 
'+'$rez $ch1 $ch2; break;
case 
'-'$rez $ch1 $ch2; break;
case 
'*'$rez $ch1 $ch2; break;
case 
'/': if($ch2!=0){ $rez $ch1 $ch2; }else { echo 'Деление на ноль'; } break; 
default: echo 
"Неизвестный оператор $znak";
}

if(isset(
$rez))
echo 
$rez;
echo 
'<hr width="100%" color="blue" />';


?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head><title>Моя страница</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
<input type="text" name="chislo1"/><br />
<input type="text" name="znak"/><br />
<input type="text" name="chislo2"/><br />
<input type="submit" value="Вычислить" >
</form>
</body>

</html>
]

Получается даже не дает ввести, сразу выдает что пустое. Как сделать проверку на пустоту поля если ничего не введено и нажата кнопка вычислить? Я вот сделал и не дает даже ввести что-то, сразу выдает что не пусто.

  Ответить  
 
 автор: Nextia   (14.10.2011 в 03:40)   письмо автору
 
   для: romantik2011   (14.10.2011 в 02:13)
 

ага, if есть, а выхода что делать если число таки введено нет (else потеряли).
должно быть что-то подобное:

if(empty($_POST['chislo1']))
{echo 'Пожалуйста, введите Число №1 <br />'; }
else {$chislo1=$_POST['chislo1'];}
//здесь либо переход к следующей проверке, либо всякие преобразования числа 1

с остальными числами так же

  Ответить  
 
 автор: Lotanaen   (14.10.2011 в 09:53)   письмо автору
 
   для: romantik2011   (14.10.2011 в 02:13)
 



<?php

if ($submitform ) {
if(empty(
$_POST['chislo1']))
echo 
'Пожалуйста, введите Число №1 <br />';

if(empty(
$_POST['chislo2']))
echo 
'Пожалуйста, введите Число №2 <br />';

if(empty(
$_POST['znak']))
echo 
'Введите знак во второе поле <br />';


if(isset(
$_POST['chislo1']) && isset($_POST['chislo2'])
&& 
is_numeric($_POST['chislo1']) && is_numeric($_POST['chislo2'])
&& !empty(
$_POST['znak']) )
{
$ch1 $_POST['chislo1']*1;
$ch2 $_POST['chislo2']*1;
$znak $_POST['znak'];


switch(
$znak){
case 
'+'$rez $ch1 $ch2; break;
case 
'-'$rez $ch1 $ch2; break;
case 
'*'$rez $ch1 $ch2; break;
case 
'/': if($ch2!=0){ $rez $ch1 $ch2; }else { echo 'Деление на ноль'; } break; 
default: echo 
"Неизвестный оператор $znak";
}

if(isset(
$rez))
echo 
$rez;
echo 
'<hr width="100%" color="blue" />';

}
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head><title>Моя страница</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
<input type="text" name="chislo1"/><br />
<input type="text" name="znak"/><br />
<input type="text" name="chislo2"/><br />
<input type="submit" name=submitform value="Вычислить" >
</form>
</body>

</html> 


обрабатывать данные формы вам же нужно только при нажатии кнопки

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования