【问题标题】:Codeigniter: Select Option return correctly but controller processes the results wronglyCodeigniter:选择选项返回正确但控制器错误地处理结果
【发布时间】:2016-02-22 09:42:00
【问题描述】:

我有一个视图可以正确返回 HTML 中选择选项的结果。 控制器应使用所选选项来加载特定视图。
登录视图

    <div class="form-group">
        <select class="form-control" name="system">
           <option>--SYSTEM SELECT--</option>
           <option>Malaria</option>
           <option>Familiy Planning</option>
          <option>Laboratory</option>
      </select>
   </div>

在控制器中,当我访问名称值并使用它来处理数据时,它会出错。
登录控制器

    $system = $this->input->post('system');
        //if i echo system it will echo the correct value
        if($system = 'Malaria'){
         //view mal file
         $this->load->view('mal');
        }
        else if($system = 'Family Planing){
          $this->load->view('fp');
        }else{
          $this->load->view('error');
        }
    }

即使 $system 返回家庭计划,控制器仍会加载视图“mal”模板。

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    $system = 'Malaria' // 将 Malaria 赋值给 $system

    为了比较,请使用此运算符 ==。它是一个进行测试的算子 相等并返回boolean

    $system == 'Malaria'

    【讨论】:

      【解决方案2】:

      改变

      $system = $this->input->post('system');
              //if i echo system it will echo the correct value
              if($system = 'Malaria'){
               //view mal file
               $this->load->view('mal');
              }
              else if($system = 'Family Planing){
                $this->load->view('fp');
              }else{
                $this->load->view('error');
              }
          }
      

      $system = $this->input->post('system');
              //if i echo system it will echo the correct value
              if($system == 'Malaria'){
               //view mal file
               $this->load->view('mal');
              }
              else if($system == 'Family Planning'){
                $this->load->view('fp');
              }else{
                $this->load->view('error');
              }
          }
      

      【讨论】:

        【解决方案3】:

        您的 If 条件已磨损。请设置适当的If条件,

         if($system == 'Malaria'){
                 //view mal file
                 $this->load->view('mal');
                }
                else if($system == 'Family Planing'){
                  $this->load->view('fp');
                }else{
                  $this->load->view('error');
                }
        

        在你的代码 $system 中再次赋值。使其查看错误的文件。正确的是if($system == "string")

        【讨论】:

          【解决方案4】:

          错误已解决 问题是我使用了一个 = 而不是 == 在

          【讨论】:

            【解决方案5】:

            使用== 代替= 进行比较
            而且您在else if 语句中缺少单引号,

            改正:

            if($system == 'Malaria'){
                 //view mal file
                 $this->load->view('mal');
                }
                else if($system == 'Family Planning'){
                  $this->load->view('fp');
                }else{
                  $this->load->view('error');
                }
            

            仅供参考

            选择选项应该有值。喜欢,

            <select class="form-control" name="system">
                   <option value="">--SYSTEM SELECT--</option>
                   <option value="Malaria">Malaria</option>
                   <option value="Family Planning">Family Planning</option>
                  <option value="Laboratory">Laboratory</option>
              </select>
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-10-24
              • 2019-11-22
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2016-12-11
              相关资源
              最近更新 更多