php:表单定价错误
如您所见,我试图创建一个简单的表单,在php部分输出价格。但我有这些错误 注意:php:表单定价错误,php,html,forms,scripting,Php,Html,Forms,Scripting,如您所见,我试图创建一个简单的表单,在php部分输出价格。但我有这些错误 注意:未定义变量:第3行的/var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w12024193/public_html/test/example2.php 注意:未定义索引:在第4行的/var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w12024193/public_html/test/example2.php中预订
未定义变量:第3行的/var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w12024193/public_html/test/example2.php
注意:未定义索引:在第4行的/var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w12024193/public_html/test/example2.php中预订
警告:第4行的/var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w12024193/public_html/test/example2.php中被零除
总费用为:
注意:未定义变量:第18行的/var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w12024193/public_html/test/example2.php
开箱桶。总成本包括增值税
HTML
双人房50英镑
双人房70英镑
家庭房100英镑
是的,10英镑
不
PHP
$vresult=$result*20%
$booking=$_GET[“booking”];
如果($booking==“双人间”){
$result=50+$\u GET[“服务”];
}
其他条件(预订=“双人间”){
$result=50+$\u GET[“服务”];
}
其他条件(预订=“家庭房”){
$result=100+$\u GET[“服务”];
}
?>
总成本为扣除增值税。
总成本包括增值税。
未定义
$result
。我正在引用php的第一行:$vresult=$result*20%
。如果您试图根据预订类型设置$result
,则需要将注释行移到设置$result
的代码下方
另外,您的表单方法是POST
,因此您需要使用$\u POST['booking']
您还缺少一个代码>在php的第一行之后这是错误的:
$vresult = $result * 20%
%
字符是,因为您没有使用第二个参数,也没有使用终止的代码>会导致各种错误,因为php将您的代码行视为:
$vresult = $result * 20 % $booking = $_GET["booking"];
^^^^^^^^^^^^^^^^ undefined (see below)
^^^^^^^^ NULL leads to division by zero
您可能想要:
$vresult = $result * 0.2;
并且您的表单方法是POST
,因此您发布的变量将位于$\u POST
数组中
编辑:包含20%的价格当然是1.2*$result
,您在计算价格之后计算。首先:vresult应该在您定义$result之后,用*1.2而不是*20%计算额外的20%;
Second:您需要使用$\u POST而不是$\u GET
Third:$\u POST['service']可以更改,只需在输出之前检查一下即可
$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.
$booking=@$\u POST[“booking”];
$service=@$_POST[“service”]==10?10 : 0;
如果($booking==“双人间”){
$result=50+$service;
}
其他条件(预订=“双人间”){
$result=50+$service;
}
其他条件(预订=“家庭房”){
$result=100+$service;
}
$vresult=$result*1.2;
?>
总成本为扣除增值税。
总成本包括增值税。
首次打开文件时,未提交任何表单,并且未定义这些变量。
您需要先使用isset()函数,然后才能定义它们 在我看来,您需要移动计算增值税的行
$vresult = $result * 20%
在您实际计算完$result
-之后关闭PHP脚本。你需要把它写成
$vresult = $result * 0.2;
$result从哪里来?您的method=“post”
,因此请检查$\u post
,而不是$\u GET
。您似乎从第3行开始给出PHP。第1行和第2行发生了什么?哪里定义了$result
?$result用作变量,以反映计算的总成本。我需要用什么代码来定义它呢?你还错过了$result*20%
问题。一大块没有解释的代码永远都不是一个好答案。好了,我记下了所有的错误,非常感谢大家。刚刚意识到@Jeroen有一个几乎相同的答案。。。他先到了那里。价格计算前的增值税计算很好,我甚至没有注意到。好的,谢谢,我会记住的。包括增值税将是*1.2
,而不是*0.2
。如果你做了*0.2
计算价格的20%,用*1.2
计算价格的20%。@John True,前几行错得太多了,我没有全部读过。为清晰起见进行了编辑。
$vresult = $result * 20%
$vresult = $result * 0.2;