Codeigniter:将会话userdata从控制器传递到视图

时间:2012-08-12 18:11:04

标签: codeigniter variables

所以这是一个小问题,但经过研究仍然无法使这项工作。我想从会话用户数据传递“username”变量。从我的控制器来查看。这是我的代码:

控制器:

    function members_area()
{
    $user['username'] = $this->session->userdata('username');
    $data['main_content'] = 'members_area';
    $this->load->view('includes/template', $data, $user);
}

在视野中我用这个:

<?php echo "$username" ?>
编辑:我以更简单的方式解决了这个问题。因为会话用户数据在用户登录时在每个页面中都是全局可用的,所以不需要像这样传递它。

我刚刚在我的视图页面中创建了这一行:

<?php echo $name = $this->session->userdata('username');

2 个答案:

答案 0 :(得分:2)

您只需填充$data

// Controller
function members_area()
{
  $data['username'] = $this->session->userdata('username');
  $data['main_content'] = 'members_area';
  $this->load->view('includes/template', $data);
}

// View
<?= $username ?>

答案 1 :(得分:0)

$this->load->view的第三个参数是True或False - 不是另一个变量。

The Documentation提供了一个关于视图如何工作的精彩概述。

这样做:

$this->load->view('includes/template', $data); 

然后在视图中:

<?php echo $username; ?>

如果您打算使用模板,也可以考虑为CodeIgniter使用真正的模板插件。

祝你好运!