ega22a
@ega22a
Учусь на информационные системы (по отраслям)

Почему не обрабатывается функция после нажатия сабмита?

Есть код калькулятора. После нажатия на сабмита код не обрабатывается, открывается новое окно, но без результата функции. Что делать?
<html>
	<head>
		<meta charset="windows-1251">
		<title>Калькулятор</title>
	</head>
	<body>
		<?
			function show() {
				global $action;
		?>
		<form method="get" action="9.php" target="_blank">
			<p>Первое число <input type="text" name="first"></p>
			<p>Второе число (Степень, процент) <input type="text" name="second"></p>
			<select>
				<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>
		<?
			}
			function calc() {
				global $action, $result, $first, $second;
				switch($action) {
					case "sum":$result = $first + $second;
					break;
					case "min":$result = $first - $second;
					break;
					case "dev":
						if (!$second) {
							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;
				}
		?>
		<p>Результат Вашего действия равен <b></p>
		<?
			echo result;
		?>
		</b>
		<?
			}
			if ($action)calc()
			else show();
		?>
	</body>
</html>
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега Веб-разработка
{PHP, MySql, HTML, JS, CSS} developer
Что делать?

Для начала посмотреть формы, как они работают, что они делают и зачем нужны. Затем понять разницу между serverside и clientside скриптами, что где выполняется и куда поступают данные из этих скриптов. Написать для себя небольшую блоксхему - как Вы представляете выполнение этой программы(хотя бы в текстовом редакторе по строчкам - что и куда попадает, что выполняется на таком-то шаге), это Вам очень поможет в случае если вы хотите ДЕЙСТВИТЕЛЬНО понимать что пишете, а не копипастить куски хз где взятого кода и пытаться их тыкать палкой пока не зашевелятся. Ну а дальше - думаю и вопросы отпадут, как минимум такие эээ... странные ).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы