【问题标题】:Codeigniter: getting select option from formCodeigniter:从表单中获取选择选项
【发布时间】:2011-03-29 02:44:51
【问题描述】:

我正在尝试使用 Codeigniter 在表单选择元素中选择选项项...

我有一个名为 results 的控制器,其中包含此代码

//get form data
if($_SERVER['REQUEST_METHOD'] == "POST"){
   $data['searchdata'] = array(
      "ionum" => $this->input->post('ionum'), 
      "thisdb" => $this->input->post('thisdb')
   );
}

加载到视图中,'ionum' 是我可以检索的文本输入,'thisdb' 是选择,我没有得到它的结果......我该如何提取它?

【问题讨论】:

  • 您的代码已损坏,但我假设您在实际点击控制器并转储您正在构建的数组的结果时没有问题。也就是说,您访问 POST vars 的代码看起来是正确的,所以我认为下一个要看的地方是您的表单标记。如果您无法弄清楚,请将您的标记附加到这篇文章中。
  • 您也必须发布 html 以便我们提供任何帮助。
  • 另外,$this->input->post 的美妙之处在于您不必检查请求方法,实际上,如果字段为空,变量将被赋值为 false。我想看看这个视图以及你如何称呼它。

标签: forms codeigniter select post


【解决方案1】:

确保您的 html 看起来像:

<form action="<?= site_url('mycontroller/myfunction');?>" method='post'>
    <input type='text' name='ionum'/>
    <select name='thisdb'>
    <option value='db1'>DB1</option>
    <option value='db2'>DB2</option>
    </select>
</form>

然后在你的控制器中,你会写:

class Mycontroller extends CI_Controller{
    function myfunction(){
        $p = $this->input->post();
        if($p){
            //you can now access the ionum and thisdb... try echo
            echo $p['ionum'];
            echo $p['thisdb'];
        }
    }
}

没有必要运行if($_SERVER['REQUEST_METHOD'] == "POST") 条件。只需检查$p 是否存在如上。

【讨论】:

    猜你喜欢
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 2016-08-12
    • 2022-08-18
    • 1970-01-01
    • 2019-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多