2017-02-25 50 views
0

所以我正在做一个任务,我必须做一个比萨订单。我是PHP新手,并且努力让我的数学工作。 所以这是我的HTML用php添加多个变量

<!doctype html> 
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> 
<meta http-equiv="expires" content="0" /> 
<html lang="en"> 
<head> 
    <title> HW05 </title> 
    <link rel="stylesheet" href="hw05.css"> 
</head> 
<body> 
<form method="post" action="hw05.php"> 
<header> 
    <h1 id="title"> 
     Pizza Order 
    </h1> 
</header> 
<section id="ci"> 
    <h2 id="ciheader"> 
     Customer Information 
    </h2> 
    <p id="text"> 
     Name: <input type="text" name="name" size="15" /> <br /><br /> 
     Phone: <input type="text" name="number" size="15" /> <br /> <br /> 
      <input type="submit" value="Order" /> 
    </p> 
</section> 

<section id="size"> 
    <h2 id="sizeheader"> 
     Pizze Size 
    </h2> 
    <p id="radio"> 
     <input type="radio" name="size1" value="small"> Small <br /> 
     <input type="radio" name="size2" value="medium"> Medium <br /> 
     <input type="radio" name="size3" value="large"> Large 
    </p> 
</section> 

<section id="top"> 
    <h2 id="topheader"> 
     Toppings 
    </h2> 
    <p id="checkbox"> 
     <input type="checkbox" name="checkbox1" value="box"> Pepperoni <br /> 
     <input type="checkbox" name="checkbox2" value="box"> Sausage <br /> 
     <input type="checkbox" name="checkbox3" value="box"> Mushroom <br /> 
     <input type="checkbox" name="checkbox4" value="box"> Ham <br /> 
     <input type="checkbox" name="checkbox5" value="box"> Olives <br /> 
     <input type="checkbox" name="checkbox6" value="box"> Onions 
    </p> 
</section> 

<section id="price"> 
    <h2 id="priceheader"> 
     Topping Price 
    </h2> 
    <p id="dollars"> 
     $1.00 <br /> 
     $1.50 <br /> 
     $0.80 <br /> 
     $1.25 <br /> 
     $0.75 <br /> 
     $0.50 
    </p> 
</section> 
</form> 
</body> 
</html> 

于是从HTML我需要创建一个计算配料的数量,并增加了尺寸的总成本和配料一起PHP页面。我无法弄清楚如何让PHP将每种打顶的成本和比萨尺寸的成本加在一起。尽管我能够让PHP来计算浇头。任何帮助将非常感谢。

+0

你应该向我们展示了'hw05.php'也 –

回答

1

你可以这样做:

<input type="checkbox" name="topping[]" value="pepperoni"> Pepperoni <br /> 
<input type="checkbox" name="topping[]" value="sausage"> Sausage <br /> 
<input type="checkbox" name="topping[]" value="mushroom"> Mushroom <br /> 
<input type="checkbox" name="topping[]" value="ham"> Ham <br /> 
<input type="checkbox" name="topping[]" value="olives"> Olives <br /> 
<input type="checkbox" name="topping[]" value="onions"> Onions 

在你hw05.php文件:

$toppingToPriceMap = [ 
    "pepperoni" => 1, 
    "sausage" => 0.8, 
    "mushroom" => 1.25, 
    "ham" => 0.75, 
    "olives" => 0.5, 
    "onions" => 0.75 
]; 
if (isset($_POST["topping"]) { 
    $numberOfToppings = count($_POST["topping"]); 
    $cost = 0; 
    foreach ($_POST["topping"] as $topping) { 
     if (isset($toppingToPriceMap[$topping])) { 
      $cost += $toppingToPriceMap[$topping]; 
     } 
    }  
} 

echo "Selected $numberOfToppings toppings at a cost of $".$cost; 

注意:这仅仅是你的代码需要修复的一个。

0

取决于您如何获得Topping Price的价值,但是您可以尝试使用$为每个数字创建变量并添加它们。

+0

0

html角度来看,你应该考虑做以下修改:

<p id="radio"> 
    <input type="radio" name="size" value="small"> Small <br /> 
    <input type="radio" name="size" value="medium"> Medium <br /> 
    <input type="radio" name="size" value="large"> Large 
</p> 

注意,name属性是大小为所有3个选项,使用户可以选择的3

对于一个复选框,你会想做类似的事情,唯一的区别是对于那个你会想要将选项存储在一个数组中。

<p id="checkbox"> 
    <input type="checkbox" name="checkbox1" value="1"> Pepperoni <br /> 
    <input type="checkbox" name="checkbox[]" value="2"> Sausage <br /> 
    <input type="checkbox" name="checkbox[]" value="3"> Mushroom <br /> 
    <input type="checkbox" name="checkbox[]" value="4"> Ham <br /> 
    <input type="checkbox" name="checkbox[]" value="5"> Olives <br /> 
    <input type="checkbox" name="checkbox[]" value="6"> Onions 
    </p> 

其余的应该发生在您没有为我们提供的hw05.php

0

代码很简单。您需要检查是否存在变量,然后检查值。因此,像是..

$addonCost =0; 
if (isset($_POST['checkbox1'])) { 
    if ($_POST['checkbox1'] == "box") { 
     $addonCost += 1; // adding $1.00 
    } 
}