有没有理由在php下面的if语句不起作用?选择正确的单选按钮时,它不会计算价格。它不断显示价格为“49”
<td width="236" height="25" align="left">Booking Period:</td>
</tr>
<tr>
<td height="10" align="right" class="align_left">One Day: ₤49 </td>
<td>
<input type="radio" name="duration" id="oneday" value="One Day Rental"/>
</td>
</tr>
<tr>
<td height="30" align="right" class="align_right">Two Day: ₤69</td>
<td>
<input type="radio" name="duration" id="two" value="Two Day Rental"/>
</td>
</tr>
<tr>
<td height="30" align="right" class="align_right">Weekend: ₤79</td>
<td>
<input type="radio" name="duration" id="weekend" value="Weekend Rental"/>
</td>
</tr>
$price = 0;
if ($duration=="oneday")
$price = 49;
elseif ($duration=="two")
$price = 69;
elseif ($duration=="weekend")
$price = 79;
else
$price = 49;
if (empty($_POST['extras'])) {
$price = $price;
} else {
if($extra == "Deodoriser"){
$price = $price + 7;
} elseif($extra == "Carpet Protector (5 litre)"){
$price = $price + 39;
} elseif($extra == "Carpet Repair Tools"){
$price = $price + 9;
} elseif($extra == "Furniture Moving Equipment"){
$price = $price + 7;
} elseif($extra == "Furniture Tabs"){
$price = $price + 2;
} elseif($extra == "Urine Decontamination Treatment"){
$price = $price + 17; }
else
$price = $price;
}
答案 0 :(得分:2)
您应该在if (empty($_POST['extras'])) {
if ($_POST['duration']=="oneday") ...
答案 1 :(得分:2)
顺便说一句,你不应该检查身份证。 您必须检查html标记的值。
$price = 0;
if ($duration == "One Day Rental")
$price = 49;
else if ($duration == "Two Day Rental")
$price = 69;
else if ($duration == "....")
$price = 79;
else
$price = 49;
我想你的问题......
提交
<input type="radio" name="duration" id="weekend" value="Weekend Rental"/>
持续时间(名称)将带有其值(值),这里的id无关紧要。
答案 2 :(得分:2)
只需修改代码中的那些行
$price = 0;
$duration = $_POST['duration'];
if ($duration=="One Day Rental")
{ $price = 49; }
elseif($duration=="Two Day Rental")
{ $price = 69; }
elseif ($duration=="Weekend Rental")
{ $price = 79; }
else
{ $price = 49; }
答案 3 :(得分:0)
$_POST['extras']
是否存在,是否有值?您应该使用var_dump($_POST['extras'])
进行检查,看看其中的内容是什么。
否则,就我所知,该代码应该可以正常工作。
答案 4 :(得分:0)
<?php ?>
是粘贴错误?如果是这样,请修复:)否则你应该在他们的PHP周围。$duration
是什么。如果这是一个帖子变量,请将其用作$_POST[]
,而不仅仅是{.1>}。{
和}
:发生的事情会更清楚