dongxun4110 2016-10-11 02:13 采纳率: 0%
浏览 14
已采纳

检查PHP时出错

I'm working on expanding my PHP skills and I'm trying to write a simple program that calculates volume and checks to make sure all the numerical values are from 0-20, but for some reason I can't get my program to recognize incorrect numbers.

    <?php

//read deep end
$deepEnd = $_POST['deepEnd'];

//read shallow end
$shallowEnd = $_POST['shallowEnd'];

     //read length
$length = $_POST['length'];

//read width
$width = $_POST['width'];

$flag = false;
$min = 0;
$max = 20;

if($deepEnd < $min && $deepEnd > $max){
        $flag = true;
}
if($shallowEnd < $min && $shallowEnd > $max){
        $flag = true;
    }
if($length < $min && $length > $max){
        $flag = true;
}
if($width < $min && $width > $max){
         $flag = true;
 }

$volume = 0.5*($deepEnd+$shallowEnd)*$length*$width*7.5;

echo "<h2>Volume Calculator</h2>";

if($flag == 'true'){
        echo "<p>Incorrect value input. Please enter 0-20.</p>
";
} else {
        echo "<p>Your volume is: ".$volume."  gallons.</p>
";
}
?>

My input is being taken from my HTML program. The <input type='number'> so I'm confused why my if statements aren't interpreting it correctly.

  • 写回答

2条回答 默认 最新

  • duanji9481 2016-10-11 02:18
    关注

    You are comparing each variable if it is less than $min and more than $max. Unless your $min is greater than $max, your code wouldn't work.

    Example:

    $min = 0;
    $max = 10;
    $x = 5;
    if ($x < $min && $x > $max) { // this will always evaluate as false
        // won't execute here
    }
    

    To solve your problem, which is to check if the value is out of scope of the $min or $max, you should use the || operator.

    Example:

    $min = 0;
    $max = 10;
    $x = -5;
    if ($x < $min || $x > $max) { // true
        // do something
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab