用php添加多个变量

时间:2017-02-25 18:02:02

标签: php html

所以我正在完成一项任务,我必须在那里制作披萨订单。我是PHP新手,我正努力让我的数学工作。 所以这是我的HTML

<!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计算浇头数量。任何帮助都会非常感谢。

4 个答案:

答案 0 :(得分: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;

注意:这只是您的代码所需的修复之一。

答案 1 :(得分:0)

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

答案 2 :(得分: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中。

答案 3 :(得分:0)

代码很简单。您需要检查vars是否存在,然后检查值。所以像是......

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