Codeigniter没有从输入中获取值

时间:2015-07-16 12:37:47

标签: php codeigniter

我有codeigniter的问题:
在我看来,我有 <input type="text" name="code" style="width:310px;">
我的控制器
$code = $this->input->get('code');
在我从我的模型中调用一个函数后:
$this->model->add($code);
问题是codeigniter没有在控制器中取得价值(我使用$this->model->add('342432');进行测试并且它有效。所以我认为问题出在视图和控制器之间。
有人有解决方案吗?谢谢!

3 个答案:

答案 0 :(得分:0)

这取决于表单提交方法。

从您的代码中:$code = $this->input->get('code');它是get

如果您想要使用post方法的表单,请使用

$code = $this->input->post('code');

答案 1 :(得分:0)

如果您在Codeignitor中使用get方法制作

$config['allow_get_array']      = TRUE; 

在config.php文件中

$config['allow_get_array'] is FALSE(default is TRUE), destroys the global GET array.

答案 2 :(得分:0)

在视图中

<form action="<?php echo base_url()?>/conteroller/method" method="post">
    <input type="text" name="code" style="width:310px;"> 
    <input type="submit" name="submit" > 
</form>

在conteroller中

if(isset($_POST['submit']))
{
    $code = $_POST['code'];
    $result =  $this->model_name->add($code);
    print_r($result);//to check the output
}

注意

  1. base_url()

    中使用config/autoload.php功能
        $autoload['helper'] = array('url');
    
  2. __construct

    中的conteroller加载模型中
        public function  __construct()
        {
            parent::__construct();
            $this->load->library('session');
            $this->load->model('Model_name');//Ex: Product_Model
        }