提交表格时,我一直收到错误消息。页面有效,但消息

时间:2020-06-05 17:50:25

标签: php

完成新手

如果我只填写1或2,我有一个包含7个输入的表单,因为我没有填写所有7个输入,所以我得到一个非数字错误值?如何清除错误?

我的代码

if(isset($_POST["invoiceitem1price"])){$invoiceitem1price =($_POST["invoiceitem1price"]);}
if(isset($_POST["invoiceitem2price"])){$invoiceitem2price =($_POST["invoiceitem2price"]);}
if(isset($_POST["invoiceitem3price"])){$invoiceitem3price =($_POST["invoiceitem3price"]);}
if(isset($_POST["invoiceitem4price"])){$invoiceitem4price =($_POST["invoiceitem4price"]);}
if(isset($_POST["invoiceitem5price"])){$invoiceitem5price =($_POST["invoiceitem5price"]);}
if(isset($_POST["invoiceitem6price"])){$invoiceitem6price =($_POST["invoiceitem6price"]);}
if(isset($_POST["invoiceitem7price"])){$invoiceitem7price =($_POST["invoiceitem7price"]);}

$sum1=$invoiceitem1price;
$sum2=$invoiceitem2price;
$sum3=$invoiceitem3price;
$sum4=$invoiceitem4price;
$sum5=$invoiceitem5price;
$sum6=$invoiceitem6price;
$sum7=$invoiceitem7price;

if($sum1!=0){$sum1 = number_format($sum1, 2, '.', '');}else{$sum1 = "";}

if($sum2!=0){$sum2 = number_format($sum2, 2, '.', '');}else{$sum2 = "";}

if($sum3!=0){$sum3 = number_format($sum3, 2, '.', '');}else{$sum3 = "";}

if($sum4!=0){$sum4 = number_format($sum4, 2, '.', '');}else{$sum4 = "";}

if($sum5!=0){$sum5 = number_format($sum5, 2, '.', '');}else{$sum5 = "";}

if($sum6!=0){$sum6 = number_format($sum6, 2, '.', '');}else{$sum6 = "";}

if($sum7!=0){$sum7 = number_format($sum7, 2, '.', '');}else{$sum7 = "";}

$total = number_format($total, 2, ".", "");

$total=$sum1+$sum2+$sum3+$sum4+$sum5+$sum6+$sum7;

1 个答案:

答案 0 :(得分:1)

由于B001在提及用户名后带有一个很酷的符号,因此您的方法很奇怪。

您已经做出了明显的努力:帮助...

将您的输入名称更改为name="invoiceitem[]",当您提交时,该名称将是一个数组。

然后读取表单数据:

if(isset($_POST['invoiceitem'])){ //check that form was submitted
    $total = 0;
    foreach($_POST['invoiceitem'] as $price){ //loop each field
        $total += (float) $price; //add value to total
    }
    $total = number_format($total, 2, ".", ""); //format total
}