嵌套条件if和else if命令

时间:2019-05-03 15:47:57

标签: php if-statement

我正在修改现有的PHP / HTML实时站点,以基于一些新的年龄验证标准添加一些新的条件语句。

页面现在已加载,但是添加这些新条件后,我的旧表单不再发布。

基本上,我在现有页面周围的if / else if / else if结构中插入了3个新条件,并根据这些检查进行重定向。

以前,只有一组页面重定向,并且代码运行良好。现在,它适用于某些条件,但不适用于其他条件。

/** Old (Working) Code: **/
if ($var > 0) { //existing working conditions
    // Some code
    if ($var2 > 0) { //existing working conditions
        // end old stuff that works)

        /** New (broken) code: **/
        if (($type == 'R') && ($age > '17')) { /// Type R AND 18 or older

            if ($adult == "0") {
                header('location: adult.php?test=' . $id . '');
            } else if ($a_values == "0") {
                header('location: a_values.php?test=' . $id . '');
            }
            //(many more pages to check)

        } else if (($type == '') && ($age > '17')) { /// No Type AND 18 or older

            if ($adult == "0") {
                header('location: adult.php?test=' . $id . '');
            } else if ($a_values == "0") {
                header('location: a_values.php?test=' . $id . '');
            }
            // (many more pages to check)

        } else if (($type == 'C') && ($age < '18')) { // else Type C OR not 18 yo

            if ($not_adult == "0") {
                header('location: not_adult.php?test=' . $id . '');
            } else if ($not_adult_values == "0") {
                header('location: not_adult_values.php?test=' . $id . '');
            }
            // (many more pages to check)

        } else {  // end ((new stuff)) and execute the rest of page if none of the if/else conditions and redirects are met


        }
        // ((old stuff that works))
    } // end $var2
} // end $var

我不想使用其他编码方法,我只想弄清楚正确的逻辑/语法,以便页面像以前一样正常工作,并且下面的表单可以正确处理。

1 个答案:

答案 0 :(得分:0)

我不知道是不是这种情况,但是如果您在任何header()之前都有HTML代码,则可能是代码无法正常工作的原因。