需要一些帮助,总是得到最后一个值188490?
if(isset($_POST['zapremina']) and is_numeric($_POST['zapremina']))
{
if ($_POST['zapremina']<=1050)
$_POST['zapremina']=1030;
if (($_POST['zapremina']>=1151) and ($_POST['zapremina']<=1300));
$_POST['zapremina']=2010;
if (($_POST['zapremina'] >= 1301) and ($_POST['zapremina'] <= 1600));
$_POST['zapremina']=4400;
if (($_POST['zapremina'] >= 1601) and ($_POST['zapremina'] <= 2000));
$_POST['zapremina']=9110;
if (($_POST['zapremina'] >= 2001) and ($_POST['zapremina'] <= 2500));
$_POST['zapremina']=45000;
if (($_POST['zapremina'] >= 2501) and ($_POST['zapremina'] <= 3000));
$_POST['zapremina']=91200;
if ($_POST['zapremina'] > 3001);
$_POST['zapremina']=188490;
}
else
$_POST['zapremina']=0;
我认为这是一个小错误,有人知道吗,提交日志
答案 0 :(得分:2)
是的,你需要做else if
。
if ($_POST['zapremina']<=1050)
$_POST['zapremina']=1030;
else if (($_POST['zapremina']>=1151) and ($_POST['zapremina']<=1300))
$_POST['zapremina']=2010;
else if (($_POST['zapremina'] >= 1301) and ($_POST['zapremina'] <= 1600))
$_POST['zapremina']=4400;
等
至于原因:您正在检查您的变量,然后将其设置为另一个值,该值往往高于您在分配后检查的任何值。
所以任何高于最终产生188490的东西。
其他意味着:在第一场比赛时停止比较。
此外,您需要删除if语句后的;
,因为;
表示:End of operation
。在这种情况下,它意味着End of If
......这反过来意味着,下一行总是会被执行,你的变量的值在这一点上甚至不再重要。
答案 1 :(得分:0)
删除; [semicolon]在每个if语句的末尾,如果在当前场景中使用了梯形图,则使用其他方法
答案 2 :(得分:0)
if(isset($_POST['zapremina']) and is_numeric($_POST['zapremina']))
{
if ($_POST['zapremina']<=1050)
$zapremina=1030;
if (($_POST['zapremina']>=1151) and ($_POST['zapremina']<=1300))
$zapremina=2010;
if (($_POST['zapremina'] >= 1301) and ($_POST['zapremina'] <= 1600))
$zapremina=4400;
if (($_POST['zapremina'] >= 1601) and ($_POST['zapremina'] <= 2000))
$zapremina=9110;
if (($_POST['zapremina'] >= 2001) and ($_POST['zapremina'] <= 2500))
$zapremina=45000;
if (($_POST['zapremina'] >= 2501) and ($_POST['zapremina'] <= 3000))
$zapremina=91200;
if ($_POST['zapremina'] > 3001)
$zapremina=188490;
}
else
$zapremina=0;
答案 3 :(得分:0)
我发现至少有两个错误:
1)几乎每个if语句代码行后面都有分号(;)。这样,这些语句甚至不会影响任何内容,并且您的POST变量设置为六次
2)您将POST变量设置为新的(更高)值,然后使用这个新的更高的值进行检查,这不是您想要实现的值。
另外 - 正如数据已经说过的那样 - 避免写入POST变量。