Другие языки программирования и технологии

Не работает простейший PHP калькулятор.

Помогите пожалуйста, учу php, хотел создать калькулятор, а он просто не считает. Что делать? Пишите на почту.

<!DOCTYPE html publik "=//W3C//DTD HTML 4/01 TRANSITIONAL//EN" "http://www.m3.org/TR/html4/loose.dtd.">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title> Калькулятор </title>

</head>

<body>

<?

function show(){

?>

<form method="POST" action="http://gost.loc" >

<input type="text" name="n_1"/>

<select size="1" name="action">

<option name="plus">+</option>

<option name="minus">-</option>

<option name="umn">*</option>

<option name="del">/</option>

<option name="stepen">^</option>

<option name="proc">%</option>

</select>

<input type="text" name="n_2"/>

<input type="submit" name="submit" value="Вычислить"/>

</form>

<?

}

function calc() {

switch($action){

case plus: $result=$n_1+$n_2; break;

case mius: $result=$n_1-$n_2; break;

case umn: $result=$n_1*$n_2; break;

case del: $result=$n_1/$n_2; break;

case stepen: $result = pow($n_1, $n_2); break;

case proc: $result=$n_1*($n_2/100); break;

default: $result="ошибка" ; break;

}

echo 'Результат Вашего действия равен '.$result;

}

if ($action) calc(); else show();

?>

</body>

</html>
Tolean Dj Laim
Tolean Dj Laim
104
во первых конечно нужен интерпретатор PHP а во вторых туда куда ты постишь данные там у тебя есть обработчик? вообще лучше убери нафиг action у формы тогда все будет отправлятся на эту же страницу
и плюс еще чтобы переменные были доступны не через глобальный массив а напрямую нужно сконфигурировать PHP соответствующим образом но так делать не рекомендуется поэтому пиши лучше сразу по человечески т е $_REQUEST['action']
и последнее - кто за тебя будет указывать value у option ?

накидал кое чего вроде складывает
------------------------------------------------------------------------------------------------------------------------------------

<!DOCTYPE html publik "=//W3C//DTD HTML 4/01 TRANSITIONAL//EN" "http://www.m3.org/TR/html4/loose.dtd.">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title> Калькулятор </title>
<style>
.debug{background: #F7CC3C;}
</style>
</head>
<body>
<?
function show(){
?>
<form method="POST" >
<input type="text" name="n_1"/>
<select size="1" name="action">
<option name="plus" value="plus">+</option>
<option name="minus">-</option>
<option name="umn">*</option>
<option name="del">/</option>
<option name="stepen">^</option>
<option name="proc">%</option>
</select>
<input type="text" name="n_2"/>
<input type="submit" name="submit" value="Вычислить"/>
</form>
<?
}
function calc() {
switch($_REQUEST['action']){
case plus: $result=$n_1+$n_2; break;
case mius: $result=$n_1-$n_2; break;
case umn: $result=$n_1*$n_2; break;
case del: $result=$n_1/$n_2; break;
case stepen: $result = pow($n_1, $n_2); break;
case proc: $result=$n_1*($n_2/100); break;
default: $result="ошибка" ; break;
}

echo 'Результат Вашего действия равен '.$result;
echo "<div class='debug'>";
print_r($_REQUEST);echo "<br>";
print_r($action);
echo "<div class='debug'>";
}
if ($action) calc(); else show();
?>
</body>
</html>
ЗА
Захаров Александр
59 821
Лучший ответ
А запускаешь-то где, на хостинге аль на Денвере?
Чтобы php работал, нужно:
1) делать все на сервере. То есть или поставить сервер себе на комп и делать внутри него в правильном месте, или найти сайт с бесплатным хостингом и делать там.
2. Все значения из формы не попадают в скрипт, а попадают в массив POST на сервере, их оттуда надо переписать в переменные и уже с ними считать.
Еду@рдо @
Еду@рдо @
74 719