Наша первая считалка. Счетчик на PHP.
Давайте сначала продумаем, что будет делать наш калькулятор. В первую очередь, он, конечно, должен выполнять арифметические действия: сложение, вычитание, деление и умножение. Неплохо. Но где вы сейчас увидите калькулятор только с такими функциями? Поэтому снабдим его еще несколькими функциями, но перегружать его не будем. Договоримся, что наша "считалка" будет еще вычислять корень из числа, возводить его в указанную степень и, наконец, выводить процент от числа.
Решили? Теперь приступаем. Создаем файл, который называем calc.php. Использование функций позволит нам совместить в этом файле как форму для ввода чисел и других данных, так и вывод результата.
<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="calc.php" target="_blank">
/* 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()
Итак, мы определили функцию show, которая, как вы поняли, будет выводить форму. Заметьте, как мы разбили php скрипт, вставив блок HTML, но все же это все относится к одной функции show, это подобно тому, если бы не прерывали скрипт, а вместо этого написали бы echo "<FORM и так далее </html>";. Пока ни о каком дизайне формы нет и речи, это лишь "скелет" Калькулятора.
Продолжаем дальше писать файл calc.php.
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;
}
?> //заканчиваем оператор switch
Результат Вашего действия равен <b>
<? echo $result; ?> //вывод результата
</b>
</font>
<?
} //конец функций calc()
Написали функцию calc, занимающуюся непосредственно вычислением результата и вывода его на экран пользователя.
Наконец, заканчиваем файл:
if ($action) calc(); else show();
?>
Если в переменной $action есть какое-либо значение (а оно может появиться только в случае нажатия кнопки "Выполнить"), то выполняется функция вычисления calc(), если же $action пуста, то выведется форма Калькулятора.
Конечно, можно было дополнить наш калькулятор еще тригонометрическими функциями (php функции sin(), cos(), tan(), котангенс - 1/tan() ), возможно было бы пристроить всяческие Java-навороты. Но это бы не меняло бы сути дела, а лишь сделало пример более громоздким. Так что если желаете использовать всяческие примочки на свой калькулятор - пожалуйста.
Также этот пример можно было сделать в двух отдельных файлах: допустим, show_calc.htm и calc.php, где первый файл содержал бы функцию show, а второй, соответственно, calc. Но мне хотелось показать использование, что называется, user-defined functions, то есть функций, определенных пользователем.
Рекомендуем почитать