【问题标题】:CodeIgniter data from Controller to View从 Controller 到 View 的 CodeIgniter 数据
【发布时间】:2015-06-19 18:55:58
【问题描述】:

我想用数组 $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,但是怎么用form呢?

【问题讨论】:

  • 您以错误的方式传递数据。用这种方式$this-&gt;load-&gt;view('login_page', array('data'=&gt;$data));

标签: php codeigniter


【解决方案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',
    )
);

【讨论】:

    【解决方案2】:

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

    $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); ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      • 2019-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多