2015-12-10 114 views
0

我在codeignitor中拥有登录和注册系统。 这是我的控制器 -仅在codeigniter中登录后才显示user_id和用户名

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'); 
    } 
} 

这段代码只是让我USER_ID和用户名。但没有显示姓氏和名字。请帮我...

+1

请让我们看看你是如何设置你的会议? –

+0

这里来自我的控制器的另一个代码 - –

+0

if($ result) { $ sess_array = array(); 的foreach($结果作为$行) { $ sess_array =阵列( 'USER_ID'=> $行向> USER_ID, '用户名'=> $行向>用户名 ); $ this-> session-> set_userdata('logged_in',$ sess_array); } return TRUE; } else {this-> form_validation-> set_message('check_database','Invalid username or password'); 返回false; } –

回答

0

考虑到你已经确立了自己的会话这样,

$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 
+0

你能告诉我为什么我不能看到像名字,姓氏等其他记录只显示用户名和用户名。那么,我已经复制登录系统并将其实施到我的它只包含用户ID,用户名和密码。比我创建了另外两个字段firstname和lastname的注册表单,并在表中为此创建了新的行。我用我自己创造的新纪录无法得到... –

0
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; 

} 

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

相关问题