在初始表单条目等待输入时抑制除零错误

时间:2017-05-20 04:54:55

标签: php math

我有一个小表单,它执行一个非常基本的功能 - 用户输入任何数字,然后从1到12的下拉列表中选择以划分该数字。预设下拉默认设置为选择“1”

当表单显示/初始化时,会显示除以0的错误,但是在单击计算按钮时 - 即使没有选择任何内容或在第一个框中输入数字,错误也会消失并且表单正确计算出“零”值。

通过我的数学=没有任何内容的初始框变量应为“零”,并且选择下拉列表默认为“1”。零/ 1 = 0并且应该没有按错误划分,但是在没有定义任何值的初始状态中我得到一个。

我尝试为第一个变量“零”设置初始值,我得到相同的结果。

<?php
       $value1 = $_POST['value1'];
       $value2 = $_POST['value2'];
?>
              <form action="tax_calculator.php" method="post">
    Enter the total amount of your tax bill <br>
                    <input type="text" name="value1"/><br><br>

    How many payments would you like to make? <br>
                    <select select name="value2" id="value2">
                    <option selected="selected">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    </select><br><br>
                    <input type="submit" value="Calculate My Payment"/>
              </form>

    Your payment amount would be: <B>$<?php echo round($value1 / $value2 ,2); ?></b>

1 个答案:

答案 0 :(得分:0)

使用 isset 检查值是否设置,并检查值是否使用!空

  $round =0;

 if(isset($_POST['value1'],$_POST['value2']) && !empty($_POST['value1']) && !empty($_POST['value2']))
{

   $round =  round($_POST['value1']/ $_POST['value2'] ,2);

}

Your payment amount would be: <B>$<?php echo $round; ?></b>