仅在登录codeigniter后显示用户id和用户名

仅在登录codeigniter后显示用户id和用户名,codeigniter,session,Codeigniter,Session,我在Codeignator中有一个登录和注册系统。 这是我的控制器- function index() { if($this->session->userdata('logged_in')) { $session_data = $this->session->userdata('logged_in'); //$data['username'] = $session_data['username'];

我在Codeignator中有一个登录和注册系统。 这是我的控制器-

 function index()
 {
     if($this->session->userdata('logged_in'))
     {
         $session_data = $this->session->userdata('logged_in');
         //$data['username'] = $session_data['username'];
         $data = array(
              'user_id'=>$session_data['user_id'],
              'username'=>$session_data['username'],
              'firstname'=>$session_data['firstname'],
              'lastname'=>$session_data['lastname']
         );
         $this->load->view('home_view', $data);
     }
     else
     {
         //If no session, redirect to login page
        redirect('login', 'refresh');
     }
 }

此代码仅显示用户id和用户名。但不显示名字和姓氏。请帮助我…

考虑到您已将会话设置为这样

$data = array(
    'user_id'=>id,
    'username'=>"name",
    'logged_in'=>1,
);
$this->session->set_userdata($data);
要从会话访问值

$this->session->userdata("name of session variable");
就你而言

$this->session->userdata("user_id");// for user id
$this->session->userdata("user_name");// for user name

在上面给定的代码中,我在会话设置中找不到
firstname
。但是您正在尝试获取
firstname
,那么代码将如何为您提供
firstname

请让我们看看您是如何设置会话的?这里是来自我的控制器的另一个代码-if($result){$sess_array=array();foreach($result as$row){$sess_array=array('user_id'=>$row->user_id,'username'=>$row->username);$this->session set_userdata('logged_',$sess_array)}返回TRUE;}否则{$this->form_validation->set_message('check_database','Invalid username或password');返回false;}您能告诉我为什么我看不到其他记录,如firstname、lastname等。这些记录只显示用户id和用户名。嗯,我已经复制了登录系统并将其实现到我的系统中,它只包含用户id、用户名和密码。然后,我创建了带有两个字段firstname和lastname的注册表,并在表中为此创建了新行。我用自己创造的新纪录无法获得。。。
if($result) { 
    $sess_array = array(); 

    foreach($result as $row) { 
        $sess_array = array( 
                          'user_id' => $row->user_id, 
                          'username' => $row->username 
                      ); 
        $this->session->set_userdata('logged_in', $sess_array); 
    } 

    return TRUE;

} else {

    $this->form_validation->set_message('check_database', 'Invalid username or password'); 
    return false; 

}