【发布时间】:2015-01-20 14:36:45
【问题描述】:
我为餐厅网站创建了一个预订页面,并提供了一份用于预订晚餐的表格。它包含一个下拉框,允许用户选择将在他们的聚会中用餐的人数。它还包含一个单选按钮,允许用户选择是否希望坐在 VIP 区域(是/否)。
派对中的每个人都应额外支付 5 英镑的预订费,如果他们希望坐在 VIP 区,则需额外支付 5 英镑。一旦表单验证成功,用户将被发送到一个确认页面,他们输入的预订详细信息将显示给他们。
目前我的网站的确认页面上有一个计算,它正确计算了聚会规模的费用,但我的问题是,即使 VIP 区域选择为“否”,它仍然会增加 5 英镑的费用如果用户选择了“是”。
这是我的预订页面上的相关 html 代码:
<?php
session_start();
if (isset($_POST['submit'])) {
$_SESSION['party'] = $_POST['party'];
}
if ( !empty($_POST['vip']))
$_SESSION['vip'] = $_POST['vip'];
?>
...
<strong>Select Party Size* :</strong>
<br>
<select name="party" id="party" value="<?php echo $party;?>">
<option value="">Please Select</option>
<option <?php if (isset($party) && $party=="1") echo "selected";?> value="1">1 Person (+£5)</option>
<option <?php if (isset($party) && $party=="2") echo "selected";?> value="2">2 People (+£10)</option>
<option <?php if (isset($party) && $party=="3") echo "selected";?> value="3">3 People (+£15)</option>
<option <?php if (isset($party) && $party=="4") echo "selected";?> value="4">4 People (+£20)</option>
<option <?php if (isset($party) && $party=="5") echo "selected";?> value="5">5 People (+£25)</option>
<option <?php if (isset($party) && $party=="6") echo "selected";?> value="6">6 People (+£30)</option>
<option <?php if (isset($party) && $party=="7") echo "selected";?> value="7">7 People (+£35)</option>
<option <?php if (isset($party) && $party=="8") echo "selected";?> value="8">8 People (+£40)</option>
<option <?php if (isset($party) && $party=="9") echo "selected";?> value="9">9 People (+£45)</option>
<option <?php if (isset($party) && $party=="10") echo "selected";?> value="10">10+ People (+£50)</option>
</select>
<strong> VIP area* : </strong> <br><br>
Yes (+£5) <input type="radio" name="vip" <?php if (isset($vip) && $vip=="Yes") echo "checked";?> value="Yes">
<br><span id="vip" class="error"><?php echo $vipErr;?></span><br>
No <input type="radio" name="vip" <?php if (isset($vip) && $vip=="No") echo "checked";?> value="No">
这是确认页面上的相关计算:
<b>Total Reservation Costs: </b><br><br> £
<?php
if (isset($_SESSION['party']) && is_numeric($_SESSION['party'])) {
$party = (int)$_SESSION['party'];
$vip = isset($_SESSION['vip']) ? 5 : 0;
echo (($party * 5) + $vip);
}
?>
如果用户选择“是”,有谁知道我如何启用计算,只为贵宾区座位添加额外的 5 英镑?我是网络语言的新手,因此将不胜感激。谢谢!
【问题讨论】:
-
您可以通过添加一个从 1 到 10 的循环“for”来改进您的代码,以使您的
标签: php variables session addition