douchuanchai2793 2013-03-12 22:06
浏览 23
已采纳

php:表单定价错误[关闭]

As you can see I am trying to create a simple form which outputs the price in the php part. But i get these errors

Notice: Undefined variable: result in /var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w12024193/public_html/test/example2.php on line 3

Notice: Undefined index: booking in /var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w12024193/public_html/test/example2.php on line 4

Warning: Division by zero in /var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w12024193/public_html/test/example2.php on line 4

Total cost is: Notice: Undefined variable: result in /var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w12024193/public_html/test/example2.php on line 18 exculding VAT. Total cost is including VAT.

HTML

<form method="post" action="example2.php">
<select name="booking">
<option value="Double Room">Double Room £50</option>
<option value="Twin Room">Twin Room £70</option>
<option value="Family Room">Family Room £100</option>
</select>

<select name="service">
 <option value="10">Yes £10</option>
 <option value="0">No</option>
</select>

<input type="submit" value="submit" action="example2.php" name="submit"><br />
</form>

PHP

$vresult = $result * 20%
$booking = $_GET["booking"];

if ($booking == "Double Room"){
$result = 50 + $_GET["service"];
}
else if($booking == "Twin Room"){
$result = 50 + $_GET["service"];
}
else if($booking == "Family Room"){
$result = 100 + $_GET["service"];
}
?>
 Total cost is <?php echo $result;?> exculding VAT.

 Total cost is <?php echo $vresult; ?> including VAT.
  • 写回答

5条回答 默认 最新

  • dongxixian7803 2013-03-12 22:11
    关注

    First: vresult should be after you defined $result, and calculate 20% extra with * 1.2 instead of * 20%; Second: You need to use $_POST instead of $_GET
    Third: $_POST['service'] can be altered, just check it before you output it

    $booking = @$_POST["booking"];
    $service = @$_POST["service"] == 10? 10 : 0;
    
    if ($booking == "Double Room"){
       $result = 50 + $service;
    }
    else if($booking == "Twin Room"){
       $result = 50 + $service;
    }
    else if($booking == "Family Room"){
       $result = 100 + $service;
    }
    $vresult = $result * 1.2;
    ?>
     Total cost is <?php echo $result;?> exculding VAT.
    
     Total cost is <?php echo $vresult; ?> including VAT.
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
  • ¥30 eclipse开启服务后,网页无法打开
  • ¥30 雷达辐射源信号参考模型
  • ¥15 html+css+js如何实现这样子的效果?
  • ¥15 STM32单片机自主设计
  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000