简体   繁体   中英

i keep getting an error when submitting my form. Page works but message

Complete novice

I have a form with 7 inputs if i only fill out 1 or 2 i get an error non numeric value because i have not filled out all 7 inputs? how do i remove the error?

My Code

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;

As B001 with a cool symbol after his username has mentioned, your approach is very weird.

As you've clearly made an effort: To help...

Change your input name to name="invoiceitem[]" which would now be an array when you submit it.

Then to read the form data:

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
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM