如果命令破坏了我的PHP脚本

时间:2016-07-25 20:54:57

标签: php html

我真的不知道这里发生了什么。

如果我将此作为我的代码:

if($_POST['expOncology'] !="") {
    $varOnc = $_POST['expOncology'];

    if ($varOnc="min") {
        $sql_extra[] = "(exp_onc='minimal expertise' OR exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
    }

    if ($varOnc="some") {
        $sql_extra[] = "(exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
    }

    if ($varOnc="high") {
        $sql_extra[] = "(exp_onc='high level of expertise' OR exp_onc='expert')";
    }
}

工作正常,并显示正确的结果。

但是,如果我再添加一个if块,那么就这样做:

if($_POST['expOncology'] !="") {
    $varOnc = $_POST['expOncology'];

    if ($varOnc="min") {
        $sql_extra[] = "(exp_onc='minimal expertise' OR exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
    }

    if ($varOnc="some") {
        $sql_extra[] = "(exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
    }

    if ($varOnc="high") {
        $sql_extra[] = "(exp_onc='high level of expertise' OR exp_onc='expert')";
    }

    if ($varOnc="expert") {
        $sql_extra[] = "(exp_onc='expert')";
    }
}

它根本无法正常工作,即使我甚至没有选择" expert"从下拉列表中。如果expOncology没有设置为专家,那么该代码甚至不能运行吗?如果我不满足其运行条件,为什么甚至会影响代码?

2 个答案:

答案 0 :(得分:0)

$varOnc="something"之类的条件将始终返回true

您应该使用=====(如果您想检查数据类型)。 您的代码应如下所示

if($_POST['expOncology'] != "") {
    $varOnc = $_POST['expOncology'];

    if ($varOnc == "min") {
        $sql_extra[] = "(exp_onc='minimal expertise' OR exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
    }

    if ($varOnc == "some") {
        $sql_extra[] = "(exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
    }

    if ($varOnc == "high") {
        $sql_extra[] = "(exp_onc='high level of expertise' OR exp_onc='expert')";
    }

    if ($varOnc == "expert") {
        $sql_extra[] = "(exp_onc='expert')";
    }
}

答案 1 :(得分:0)

尝试

if($_POST['expOncology'] !="") {
  $varOnc = $_POST['expOncology'];
  if ($varOnc=="min"){
    $sql_extra[] = "(exp_onc='minimal expertise' OR exp_onc='some     expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
   }
  if ($varOnc=="some"){
    $sql_extra[] = "(exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
  }
 if ($varOnc=="high"){
    $sql_extra[] = "(exp_onc='high level of expertise' OR exp_onc='expert')";
 }
}

与==它比较好;)