我是codeigniter的新手。我已经实现了一个简单的登录系统。我想在我的视图页面上打印出一个存储在会话中的用户名。 这是我的控制器
class LoginController extends CI_Controller {
function index(){
$new['main_content'] = 'loginView';
$this->load->view('loginTemplate/template', $new);
}
function verifyUser(){
//getting parameters from view
$data = array(
'username' => $this->input->post('username'),
'password' => $this->input->post('password')
);
$this->load->model('loginModel');
$query = $this->loginModel->validate($data);
if ($query){
//if the user c validated
//data variable is created becx we want to put username in session
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect('sessionController/dashboard_area');
}
else
{
$this->index();
}
}
function logout()
{
$this->session->sess_destroy();
$this->index();
}
}
?>
sessionController
<?php
class SessionController extends CI_Controller {
function __construct()
{
parent::__construct();
$this->is_logged_in();
}
function dashboard_area(){
$data['main_content'] = 'dashboardView';
$this->load->view('dashboardTemplate/template', $data);
}
function is_logged_in()
{
$is_logged_in = $this->session->userdata('is_logged_in');
if(!isset($is_logged_in) || $is_logged_in != true)
{
echo 'You don\'t have permission to access this page.';
die();
//$this->load->view('login_form');
}else {
return true;
}
}
}
?>
我如何在会话中存储用户名然后在页面中打印...我不想在每个控制器中保存用户名
如果有人有更好的建议,请分享给我..
答案 0 :(得分:2)
$username = $this->session->userdata('username');
//Pass it in an array to your view like
$data['username']=$username;
$this->load->view('test',$data);
//Then in you view you can display it as:
echo $username;
答案 1 :(得分:1)
控制器文件 $ data = array('username'=&gt; $ result-&gt; name,);
查看文件
<?php echo $this->session->userdata('username')?>
答案 2 :(得分:0)
只需将用户名存储在userdata中(您已经完成了此操作!)
$this->session->set_userdata('username') = 'John Doe';
并像那样检索它
$username = $this->session->userdata('username');