从Controller到View的CodeIgniter数据

时间:2015-06-19 18:55:59

标签: php codeigniter

我想在视图文件中使用数组$ data创建form,如下所示:

控制器:

    $data = array(
    'name'        => 'username',
    'id'          => 'username',
    'class'   => 'form-control',
    'placeholder'        => 'username here',
);
$this->load->view('login_page', $data);

查看:

<?php echo form_input($data); ?>

它不起作用,我应该使用$ name; $ ID; $类; $ placeholder,但如何使用表单?

2 个答案:

答案 0 :(得分:1)

将数组传递给视图时,它会将数组键转换为变量。 例如在控制器中

$data['test'] = 'value';

如果您将 $ data 传递给视图

$this->load->view('view_page', $data);

您无法在视图中访问 $ data 数组,而是 - $ test 变量

所以

echo $test;

可以正常工作

基本上你需要将表单数据插入另一个数组 像这样

$data = array(
    'form_data' => array(
        'name'          => 'username',
        'id'            => 'username',
        'class'         => 'form-control',
        'placeholder'   => 'username here',
    )
);

答案 1 :(得分:0)

您只需将输入配置包装在一个数组中,这样它就不会被分解为单独的变量。

$data = array( 
        'formParams' => array(
              'name'        => 'username',
              'id'          => 'username',
              'class'       => 'form-control',
              'placeholder' => 'username here'
        )
        );

$this->load->view('login_page', $data);

查看:

<?php echo form_input($formParams); ?>