![](/img/trans.png)
[英]How can I use a “variable” in an if/or statement in PHP to generate a statement conditionally?
[英]How would I add a PHP statement to conditionally subtract?
我有一个使用PHP根据用户做出的选择计算总数的表格。 共有13个选择。 我停留在两个部分,“蓝色”和“橙色”:
如果用户选择“蓝色”,则价格会增加$ 250.00
如果用户选择“橙色”,则价格会增加$ 150.00
我要弄清楚的事情是:我想这样做,以便如果用户选择“蓝色”,然后继续选择“橙色”,则不会将“橙色”的费用添加到总计中。 另一方面,如果他们没有选择“蓝色”,而是继续选择“橙色”,我希望将$ 150.00添加到总计中。
我能想到的唯一解释方法是,如果您购买蓝色,则包括橙色。
这是我的HTML:
蓝色是否
橙子是
没有这是我的PHP:
<?php $one = $_POST ['one']; $two = $_POST ['two']; $three = $_POST ['three']; $four = $_POST ['four']; $five = $_POST ['five']; $six = $_POST ['six']; $seven = $_POST ['seven']; $eight = $_POST ['eight']; $nine = $_POST ['nine']; $ten = $_POST ['ten']; $eleven = $_POST ['eleven']; $twelve = $_POST ['twelve']; $thirteen = $_POST ['thirteen']; $total = ($_POST['one'] + $_POST['two'] + $_POST['three'] + $_POST['four'] + $_POST['five'] + $_POST['six'] + $_POST['seven'] + $_POST['eight']+ $_POST['nine'] + $_POST['ten']+ $_POST['eleven'] + $_POST['twelve']+ $_POST['thirteen']);
有人告诉我,我应该这样做:
$four = $_POST ['four']- $_POST ['six'];
并且效果很好,除了即使未选择蓝色(四个)和橙色(六个),橙色的值也不会添加到总数中。 我应该使用if / else语句还是什么? 同样,此表格也不必是安全的。 预先感谢您的任何想法。
如果当您获得蓝色时包括橙色,则可能不应该是2个不同的是/否选择。
相反,它更应该是一个问题:
您要哪个计划? 橙色(150)蓝色(250)
是的,if / else是路要走。 您可以使用三元运算符在线完成此操作 。
更改此:
$total = ($_POST['one'] + $_POST['two'] + $_POST['three'] + $_POST['four']
+ $_POST['five'] + $_POST['six'] + $_POST['seven'] + $_POST['eight']+
$_POST['nine'] + $_POST['ten']+ $_POST['eleven'] +
$_POST['twelve']+ $_POST['thirteen']);
对此:
$total = ($_POST['one'] + $_POST['two'] + $_POST['three'] + $_POST['four']
+ $_POST['five'] + (($_POST['four'] > 0) ? 0 : $_POST['six']) + $_POST['seven'] + $_POST['eight']+
$_POST['nine'] + $_POST['ten']+ $_POST['eleven'] +
$_POST['twelve']+ $_POST['thirteen']);
假设您的$ _POST值为整数。
是的,您需要一些if / else逻辑
if( empty($_POST['blue'] ) && !empty($_POST['orange'] ) )
{
$_POST['total'] += $_POST['orange'];
}
如果为假,则仅在蓝色时添加橙色。 (请注意,我使用empty()以避免有关未定义变量的警告)
出于好奇,您为什么要按数字命名发布变量? 按名称命名可能会减少您将来需要修改时的混淆。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.