在网站中使用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
。
答案 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);