Форум Академгородка, Новосибирск > PHP-калькулятор
Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PHP-калькулятор
Форум Академгородка, Новосибирск > Компьютеры и сети > Программирование > WEB-программирование
Astronom
Вот такой вот простейший скрипт почему-то неработает, не могу понять почему.

Код
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Калькулятор</title>
</head>
<body>
<?php            
function show()
{
  global $action;
  ?>
  <FORM method=Get action="form.php" target="_blank">
  <input type="text" name="first">
  Второе число (Степень, процент)
  <input type="text" name="second">
  <select size="1" name="action">
    <option value="sum">Сложить</option>
    <option value="min">Вычесть</option>
    <option value="mult">Умножить</option>
    <option value="dev">Разделить</option>
    <option value="stepen">Возвести в степень</option>
    <option value="procent">Процент от числа</option>
    <option value="koren">Корень</option>
  </select>
  <br><input type="submit" value="Выполнить">
  </form>
  <?php
}       //конец функции show()
function calc()
{
global $action, $result, $first, $second;
switch($action)
{
   case "sum": $result = $first+$second;
   break;
   case "min": $result = $first-$second;
   break;
   case "mult": $result = $first*$second;
   break;
   case "dev":
   if (!$second)             /* если второе число равно "0" или вообще не введено */
   {
     exit("Извините, программа не может выполнить действие: на ноль делить нельзя");
   }
   $result=$first/$second;
   break;
   case "procent": $result = $first*($second/100);
   break;
   case "stepen": $result = pow($first, $second);
   break;
   case "koren": $result = pow($first,0.5);
   break;
}

?>                            
Результат Вашего действия равен <b>
<?php echo $result; ?>          
</b>

<?php
}                  
if ($action) {
calc();
}
else
{
show();
}
?>
Astronom
Разобрался в проблеме. надо был включить глобальные массивы....
Бян
Цитата(Astronom @ 12.03.2010, 21:56) *
Разобрался в проблеме. надо был включить глобальные массивы....

Не надо их включать:
http://www.google.ru/search?hl=ru&q=register_globals
Zebooka
Цитата(Astronom @ 12.03.2010, 22:56) *
Разобрался в проблеме. надо был включить глобальные массивы....
Глобальные массивы - страшное зло.
Никогда не используйте их.

Почитайте про суперглобальные переменные. В частности - $_GET, $_POST и $_REQUEST.
http://www.php.net/manual/en/reserved.variables.php

Цитата
case "koren": $result = pow($first,0.5);
$result = sqrt($first);
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2024 IPS, Inc.