如何在整个网站的codeigniter中使用session_data,而不包括特定的视图

时间:2015-08-13 07:32:09

标签: codeigniter codeigniter-2

在网站中使用session_data还有其他最佳方法。

我如何在项目中设置会话:

$sess_array = array('id' => $row->user_id,'name'=>$row->user_name,'email'=>$row->email,'condition'=>'','balance'=>$row->balance,'did_alloted'=>$row->did_alloted,'create_date'=>$row->create_date);
$this->session->set_userdata('logged_in', $sess_array);

说到控制器:

$data['id'] = $session_data['id'];
$data['name'] = $session_data['name'];
$data['email'] = $session_data['email'];
$data['balance']=$session_data['balance'];
$data['did_alloted']=$session_data['did_alloted'];
$data['create_date']=$session_data['create_date'];
$this->load->view('san-reception', $data);

并在我的view中。我使用<?php echo $name ?>来获取session_data。

那么有什么方法可以直接访问view中的session_data而不包含$data

2 个答案:

答案 0 :(得分:1)

$这 - &GT;会话而&GT;用户数据(&#39; LOGGED_IN&#39);将直接在视图中使用,因此您只需将其分配给变量,然后将其用作下面的数组。

   $userdata=$this->session->userdata('logged_in');

现在变量$ userdata包含您在控制器中设置的所有数组字段,因此您可以将其用作$ userdata [&#39; id&#39;],$ userdata [&#39; name&#39;]等< / p>

答案 1 :(得分:0)

public function __construct()
{
    parent::__construct();
    $data['session_data']=$this->session->user_data('logged_in');
}

public function some_function(){
    $data['dummy']="";
    $this->load->view('someview3',$data)
}
public function some_function1(){
    $data['dummy']="";
    $this->load->view('someview1',$data)
}

public function some_function2(){
    $data['dummy']="";
    $this->load->view('someview2',$data)
}

如果将其分配给构造函数,则只要函数在控制器中调用,它就会自动调用。

您可以在查看页面中查看,

print_r($session_data);