所以我正在完成一项任务,我必须在那里制作披萨订单。我是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计算浇头数量。任何帮助都会非常感谢。
答案 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
}
}