【发布时间】:2018-01-22 07:08:18
【问题描述】:
上次我为我的练习做了简单的计算器,效果很好。但是今天当我再次打开代码并在浏览器中运行它时,发生了一些奇怪的事情。这是我的html代码:
<html>
<head>
<meta charset="utf-8">
<title>Calculator</title>
</head>
<body>
<form method="post" action="disp_form.php">
<p>First Value:<br/>
<input type="text" id="first" name="first">
</p>
<p>Second Value:<br/>
<input type="text" id="second" name="second">
</p>
<select method="post" name="group1">
<option name="group1" id="add" value="add"><p>+</p><br/>
<option name="group1" id="subtract" value="subtract"><p>-</p><br/>
<option name="group1" id="times" value="times"><p>x</p><br/>
<option name="group1" id="divide" value="divide"><p>/</p><br/>
</select>
<p></p>
<button type="submit" name="answer" id="answer"
value="answer">Calculate</button>
</form>
</body>
</html>
这是我的 php 代码
<?php
$first = $_POST['first'];
$second= $_POST['second'];
$operator = $_POST["group1"];
switch($operator)
{
case "add":
echo "Answer is: " .$first + $second;
break;
case "subtract":
echo "Answer is: " .$first - $second;
break;
case "times":
echo "Answer is: " .$first * $second;
break;
case "divide":
echo "Answer is: " .$first / $second;
break;
}
?>
奇怪的是,当我使用 / & * 时,输出是正确的(例如 2*5,输出是“答案是:10)。 但是当我使用 + & - 时,输出不正确。 (例如 8+5,输出为 5,对于 8-5,输出为 -5) 我认为 add 和 substract 的第一个值定义为零,这就是它的结果 -5 和 5 的原因。但是时间和除法是如何完成的呢?
【问题讨论】:
-
把数学部分放在括号里。
-
旁注:您从未关闭过
<option>标签。那是无效的 HTML。 -
我试过放一个结束标签,但问题仍然存在。我认为错误不存在。但感谢提醒我:D@litelite
标签: php