无法从codeigniter上的form_hidden中获取值?

时间:2014-04-14 04:54:32

标签: php forms codeigniter post

我尝试使用表单助手CI创建更新表单。如果在form_input上,一切都有效。但是,当form_hidden上的id时,它返回NULL。这个剧本 查看

$hidden = array('name'=>'id_hidden','value'=>$datacompany[0]->id);
echo form_hidden($hidden); //I have edited

在控制器上

function edit_company()
{
    if(isset($_POST['EDIT']))
    {
        print_r($_POST);//return All value

        $isi = array(
                 'id'   =>$this->input->post('id_hidden'),//return null
                 'nip'  =>$this->input->post('nip'),//return value
                 'nama' =>$this->input->post('nama'), //return value
             'golongan' =>$this->input->post('golongan') //return value

                );

            echo $isi['id']; //the result id is null
    }//end if
}//end Function

我需要在模型上使用。我该如何解决这个问题? 如何从form_hidden中获取ID?

我非常感谢你的回答

感谢

3 个答案:

答案 0 :(得分:0)

使用我的第一条评论时,您可以在3秒内调试它,以下是答案:)

您以错误的方式使用form_hidden。

form_hidden中的数组转到此(来自文档)

$data = array(
          'name'  => 'John Doe',
          'email' => 'john@example.com',
          'url'   => 'http://example.com'
        );

echo form_hidden($ data);

//会产生:

<input type="hidden" name="name" value="John Doe" />
<input type="hidden" name="email" value="john@example.com" />
<input type="hidden" name="url" value="http://example.com" />

如您所见,&#39;键&#39;数组的转换为字段的名称。 该值是&#39;值&#39;数组。因此,在您的示例中,您正在制作两个隐藏字段。

 <input type="hidden" name="name" value="id_hidden">
<input type="hidden" name="value" value="$datacompany[0]->id">

答案 1 :(得分:0)

你需要在CI中定义一个隐藏字段:

$hidden = array('id_hidden',$datacompany[0]->id); // a name and value pair for a single instance.
echo form_hidden($hidden);

答案 2 :(得分:0)

$hidden = array('id_hidden' =>  $datacompany[0]->id);
echo form_hidden($hidden);

我认为这将满足您的需求。 或者如果你想要其他属性......试试这个..

$data = array(
              'name'        => 'username',
              'id'          => 'username',
              'value'       => 'johndoe',
              'maxlength'   => '100',
              'type'        => 'hidden',
              'size'        => '50',
              'style'       => 'width:50%',
            );

echo form_input($data);

取决于你的需要。