我有这个表单,我试图用一些用户输入的变量并将它们传递给calculate.php进行计数并显示结果。
<HTML>
<HEAD>
<TITLE>Calculation Form</TITLE>
</HEAD>
<BODY>
<FORM METHOD="POST" ACTION="calculate.php">
<P>Value 1: <INPUT TYPE="text" NAME="vall" SIZE=10></P>
<P>Value 2: <INPUT TYPE="text" NAME="val2" SIZE=10></P>
<P>Calculation:<br>
<INPUT TYPE="radio" NAME="calc" VALUE="add"> add<br>
<INPUT TYPE="radio" NAME="calc" VALUE="subtract"> subtract<br>
<INPUT TYPE="radio" NAME="calc" VALUE="multiply"> multiply<br>
<INPUT TYPE="radio" NAME="calc" VALUE="divide"> divide</P>
<P><INPUT TYPE="submit" NAME="submit" VALUE="Calculate"></P>
</BODY>
</HTML>
<?
if (($_POST["vall"] == "") || ($_POST["val2"] == "") || ($_POST["calc"] =="")) {
header("Location: http://localhost/calculate.html");
exit;
}
if ($_POST["calc"] == "add") {
$result = $_POST["vall"] + $_POST["val2"];
} else if ($_POST["calc"] == "subtract") {
$result = $_POST["vall"] - $_POST["val2"];
} else if ($_POST["calc"] == "multiply") {
$result = $_POST["vall"] * $_POST["val2"];
} else if ($_POST["calc"] == "divide") {
$result = $_POST["vall"] / $_POST["val2"];
}
?>
<HTML>
<HEAD>
<TITLE>Calculation Result</TITLE>
</HEAD>
<BODY>
<P>The result of the calculation is: <? echo $result; ?></P>
</BODY>
</HTML>
任何人都可以说我的错误在哪里,因为我只得到:计算的结果是:
答案 0 :(得分:1)
"
中的数组索引中错过了$_POST[]
,因此您需要添加""
。<?
if (($_POST["vall"] == "") || ($_POST["val2"] == "") || ($_POST["calc"] =="")) {
header("Location: http://localhost/calculate.html");
exit;
}
if ($_POST["calc"] == "add") {
$result = $ POST[vall] + $_POST[val2];
} else if ($_POST["calc"] == "subtract") {
$result = $_POST["vall"] - $_POST["val2"];
} else if ($_POST["calc"] == "multiply") {
$result = $_POST["vall"] * $_POST["val2"];
} else if ($_POST["calc"] == "divide") {
$result = $_POST["vall"] / $_POST["val2"];
}
?>
答案 1 :(得分:1)
这些$_POST[vall]
必须为$_POST['vall']
。字符串文字vall
是关键。
答案 2 :(得分:0)
你在calculate.php的第8行有一个错误:
$result = $ POST[vall] + $_POST[val2];
应该是:
$result = $_POST["vall"] + $_POST["val2"];
并考虑以前的答案
答案 3 :(得分:0)
可能只是在这里输入错误,但是 - 除了其他所有人说的话,你忘了关闭 </form>
标签
<INPUT TYPE="radio" NAME="calc" VALUE="divide"> divide</P>
<P><INPUT TYPE="submit" NAME="submit" VALUE="Calculate"></P>
</FORM> <!-- MISSING -->
</BODY>
我还会在处理前检查POST请求:
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
// do your stuff
}