好吧,我已经足够引诱了,该去寻求帮助了。
我是PHP新手,我正在尝试使用HTML表单中提供的值进行一些数学运算,但是我的功能之一无法正常工作。有趣的是,另一个以基本相同的方式编写的功能也可以正常工作。
这是我的PHP代码:
//For passing values around
$area = 50;
$plants = 0;
$pi = 3.14;
//Calculate the area
function calcsquare($len, $wid) {
$a = (double) $len * (double) $wid;
return $a;
}
function calccirc($rad, $pi) {
$a = (double) $rad * (double) $pi;
return $a;
}
//Make the buttons do stuff
if($_SERVER['REQUEST_METHOD'] == "POST" and isset($_POST['calcarea_button']))
{
if($POST["radius"] == "") {
$area = calcsquare((double) $_POST["length"], (double) $_POST["width"]);
} else {
//$area = calccirc((double) $_POST["radius"], (double) $pi);
//$area = $_POST["radius"];
//$area = 3.14;
$area = "Seriously wtf.";
}
}
(我知道我没有添加任何错误处理。这对Future Me是个问题。)
这是相关的HTML:
<div class="calcarea">
<!--Calculate the area-->
<form action="calc_plants.php" method="post">
Length: <input name="length" type="text" /> ft.<br>
Width: <input name="width" type="text" /> ft.<br>
Radius: <input name="radius" type="text" /> ft.</br>
<input type="submit" value="Calculate" name="calcarea_button">
</form>
</div>
此代码在页面上的其他位置返回$ area:
<?php echo $area; ?> sq. ft.<br>
由calcsquare填充$ area的位完全按照我的预期工作,但是无论我做什么,否则case返回0。(作为故障排除措施,我最初将其设置为50,所以我知道它是更改为0而不是完全不更改。)函数calccirc是我实际上要完成的工作,但是您可以看到我用来使$ area表示不是0的所有注释掉的东西。我什至不知道那是哪里来的。再次,每次我尝试calcsquare都可以正常工作,所以我知道它应该可以工作!
同样,对于PHP来说还是一个新手,请保持柔和。向妈妈解释一下。