Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Калькулятор на PHP,нужна помощь.

18K
29 ноября 2007 года
angelino4ka
13 / / 22.12.2006
Здравствуйте.У меня проблема.Пишу калькулятор на пхп и незнаю как справиться с ошибкой: Undefined variable. Пожалуйста помогите сделать,не пойму почему не видет переменную num3.
И простите за использование тегов если что.

calc.html
Код:
<html>
<head>

<form action="calc.php" method="post">
Первое число<input type=text size=20 name="num1">
Второе число<input type=text size=20 name="num2">

Действие<select action="fun">
<option value="del">Деление
<option value="um">Умножение
<option value="sum">Сумма
<option value="Min">Вычитание
<option value="step">Степень
<option value="proc">Процент
<option value="koren">Корень
</select action>
<input type=submit text size=20 name="fun" value="send">
</form>
</head>
</html>


calc.php
Код:
<?php
$num1=$_POST['num1'];
$num2=$_POST['num2'];
$fun=$_POST['fun'];


if($fun=='sum')
$num3=$num1+$num2;

echo $num3;

?>
274
29 ноября 2007 года
Lone Wolf
1.3K / / 26.11.2006
у тебя имя fun у сабмита а не у селекта, естественно значение у переменой fun всегда = send, а занчит условие $fun=='sum' и переменая $num3 никогда не проиницидизируется и не обьявится.
Дай совйтсво name select-у и в ифе проверяй значений по его имени.
а вобще, если что-то не получается, при отсылке формы, импользуй такое:
 
Код:
echo '<pre>';
 print_r($_POST);
echo '</pre>';


этим ты просотриш все содержание массива POST и сможеш увидеть что не так.
13K
29 ноября 2007 года
specter
113 / / 28.09.2007
Цитата: angelino4ka
Здравствуйте.У меня проблема.Пишу калькулятор на пхп и незнаю как справиться с ошибкой: Undefined variable. Пожалуйста помогите сделать,не пойму почему не видет переменную num3.
calc.php
Код:
<?php
$num1=$_POST['num1'];
$num2=$_POST['num2'];
$fun=$_POST['fun'];


if($fun=='sum')
$num3=$num1+$num2;

echo $num3;

?>


Я на пхп давно не писал, но ошибка на сколько я понимаю в области видимости (по аналогии с С/С++)
работать должно так:

Код:
<?php
$num1=$_POST['num1'];
$num2=$_POST['num2'];
$fun=$_POST['fun'];


if($fun=='sum')
{
     $num3=$num1+$num2;
     echo $num3;
}

?>

или так:
Код:
<?php
$num1=$_POST['num1'];
$num2=$_POST['num2'];
$fun=$_POST['fun'];


$num3 = 0;
if($fun=='sum')
      $num3=$num1+$num2;

echo $num3;

?>
1.9K
29 ноября 2007 года
max_dark
256 / / 11.11.2005
calc.html
Код:
<html>
<head>

<form action="calc.php" method="post">
Первое число<input type=text size=20 name="num1">
Второе число<input type=text size=20 name="num2">

Действие<select name="fun"> <!-- !!! -->
<option value="del">Деление
<option value="um">Умножение
<option value="sum">Сумма
<option value="Min">Вычитание
<option value="step">Степень
<option value="proc">Процент
<option value="koren">Корень
</select>  <!-- !!! -->
<input type=submit text size=20 name="funX" value="send"> <!-- !!! -->
</form>
</head>
</html>

calc.php
Код:
<?php
$num1=(int)$_POST['num1']; // !!!
$num2=(int)$_POST['num2']; // !!!
$fun=$_POST['fun'];

$num3=0; // !!!
if($fun=='sum')
$num3=$num1+$num2;

echo $num3;

?>


З.Ы. Пока писал опередили
18K
29 ноября 2007 года
angelino4ka
13 / / 22.12.2006
Огромное всем спасибо.Просто добавила свойство name="fun" к select action, как сказал Lone Wolf.

 
Код:
Действие<select action name="fun">
18K
29 ноября 2007 года
angelino4ka
13 / / 22.12.2006
Вот полный рабочий код калькулятора. Мало ли кому-нибудь пригодиться :)

calc.html
Код:
<html>
<head>

<form action="calc.php" method="post">
Первое число<input type=text size=20 name="num1">
Второе число<input type=text size=20 name="num2">

Действие<select action name="fun">
<option value="del">Деление
<option value="um">Умножение
<option value="sum">Сумма
<option value="Min">Вычитание
<option value="step">Степень
<option value="proc">Процент
<option value="koren">Корень
</select action>
<input type=submit text size=20 name="send" value="send">
</form>
</head>
</html>


calc.php
Код:
<?php
$num1=$_POST['num1'];
$num2=$_POST['num2'];
$fun=$_POST['fun'];


if($fun=='sum')
$num3=$num1+$num2;

if($fun=='min')
$num3=$num1-$num2;

if($fun=='um')
$num3=$num1*$num2;

if($fun=='del' && $num2!=0)
$num3=$num1/$num2;


if($fun=='step')
$num3=pow($num1,$num2);

if($fun=='proc')
$num3=($num1*$num2)/100;

if($fun=='koren')
$num3=sqrt($num1);

echo $num3;

?>
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог