HTML / PHP表单-无缘无故将变量设置为0

时间:2019-01-15 23:17:36

标签: php html forms

好吧,我已经足够引诱了,该去寻求帮助了。

我是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来说还是一个新手,请保持柔和。向妈妈解释一下。

0 个答案:

没有答案