我是php新手并且一直在尝试启用我正在处理的网站,以正确计算餐厅预订页面上的两个因素的价格(派对大小和VIP区域选择)。目前我已经实现了javascript计算,以便在预订页面上一旦用户做出选择就会自动显示总价格,但是我希望在提交预订表格后显示确认php页面,以执行计算。服务器端。
以下是有问题的html代码(reservations.html):
<strong>Select Party Size:</strong>
<br>
<select name="party" id="party" onblur="validateSelect(name)">
<option value="">Please Select</option>
<option value="5 (+£5)">1 Person (£5)</option>
<option value="10 (+£10)">2 People (£10)</option>
<option value="15 (+£15)">3 People (£15)</option>
<option value="20 (+£20)">4 People (£20)</option>
<option value="25 (+£25)">5 People (£25)</option>
<option value="30 (+£30)">6 People (£30)</option>
<option value="35 (+£35)">7 People (£35)</option>
<option value="40 (+£40)">8 People (£40)</option>
<option value="45 (+£45)">9 People (£45)</option>
<option value="50 (+£50)">10+ People (£50)</option>
</select>
...
<strong> VIP Area? </strong>
<br>
Yes (+£5) <input name="hand" id="left" value="5 (+£5)" onblur="validateRadio(id)" type="radio">
No <input name="hand" id="right" value="0" onblur="validateRadio(id)" checked="" type="radio">
<span class="validateError" id="handError" style="display: none;">Please specify whether you would like a table in the VIP area.</span>
这是我目前拥有的PHP代码,它没有完全正常运行(confirmation.php):
<b>Total Reservation Costs: </b>
<?php $party + $hand
如果有人知道我如何纠正我的PHP代码以执行派对和VIP区域选择的计算并在确认php页面上显示,我将非常感谢任何建议。
谢谢
答案 0 :(得分:0)
使用echo打印:
<?php
$party = $_POST['party'];
$hand = $_POST['hand'];
echo $party + $hand;
答案 1 :(得分:0)
当您使用表单元素选择,复选框,收音机时,要记住的一件事是value
属性对用户不可见,因此您可以根据自己的喜好设置这些属性。
考虑到这一点,让我们看一下你的选择选项
<option value="5 (+£5)">1 Person (£5)</option>
<option value="10 (+£10)">2 People (£10)</option>
<option value="15 (+£15)">3 People (£15)</option>
无需在值中添加(+£5)
,只需提供数字,这将使您的计算更加轻松。
这意味着它看起来像这样
<option value="5">1 Person (£5)</option>
<option value="10">2 People (£10)</option>
<option value="15">3 People (£15)</option>
我们将对您的单选按钮执行相同的操作:
<input name="hand" id="left" value="5 (+£5)" onblur="validateRadio(id)" type="radio">
变成
<input name="hand" id="left" value="5" onblur="validateRadio(id)" type="radio">
现在,在提交表单的页面上,您可以获得类似这样的值
$party = intval( $_POST['party'] );
$hand = intval( $_POST['hand'] );
$cost = $party + $hand;
?>
<b>Total Reservation Costs: </b> <?php echo $cost; ?>
我假设您在HTML表单中使用method="post"
,如果您使用的是method="get"
,那么您需要将$_POST
更改为$_GET
你会注意到我正在使用intval()
,这样做的原因是将字符串转换为int值,这可能是不必要的,但我用它来演示如何将字符串转换为int, intval()
仅适用于整数more information on intval()