2017-12-03 4 views
0

현재 로그인 한 사용자의 프로필보기를 만들고 싶습니다. 로그인 할 때 자신의 사용자 이름 만 들어있는 session_data 배열을 만들었습니다. 로그인 한 사용자에 따라 행에서 다른 값을 검색하는 방법은 무엇입니까? 모든 정보를 session_data 배열에 추가해야합니까?Codeigniter에 로그인 한 사용자의 프로필 정보를 표시 하시겠습니까?

나는 값이 FIRST_NAME, 내가 이름 함께 표시 할 date_joined LAST_NAME, & .

로그인 컨트롤러 :

class Login extends CI_Controller 
{ 
public function __construct() 
{ 
    parent::__construct(); 
} 

public function index() 
{ 
    $this->load->view('templates/header'); 
    $this->load->view('login'); 
    $this->load->view('templates/footer'); 
} 

function login_validation() 
{ 
    $this->form_validation->set_rules('username', 'Username', 'required'); 
    $this->form_validation->set_rules('password', 'Password', 'required'); 
    if($this->form_validation->run()) 
    { 
    $username = $this->input->post('username'); 
    $password = $this->input->post('password'); 
    $this->load->model('login_model'); 
    if ($this->login_model->can_login($username, $password)) 
    { 
     $session_data = array(
     'username' => $username 
    ); 
     $this->session->set_userdata($session_data); 
     redirect('home'); 
    } 
    else { 
     $this->session->set_flashdata('error', 'Invalid Username and Password'); 
     redirect('login'); 
    } 
    } 
    else { 
    $this->index(); 
    } 
} 

function enter() 
{ 
    if ($this->session->userdata('username') != '') { 
    echo "Welcome " . $this->session->userdata('username'); 
    echo '<a href="/index.php/logout">Logout</a>'; 
    } 
    else { 
    redirect('login'); 
    } 
} 

function logout() 
{ 
    $this->session->unset_userdata('username'); 
    redirect('login'); 
} 
} 

사용자보기 :

<h4><?php echo $_SESSION['username']; ?></h4> 
+0

세션에 사용자 이름이 있습니다. 선택한 쿼리에서 전달하여 해당 사용자 이름에 대한 정보를 가져올 수 있습니다. – hrishi

답변

0

당신은 당신이 그것에 보내는 사용자 이름에 따라 사용자 이름 정보를 검색 login_model있는 방법이 필요합니다. 이 같은

뭔가 : 한편

function get_user($username) 
{ 
    $this->db->select(*); 
    $this->db->from('users'); 
    $this->db->where('username', $username); 

    $query = $this->db->get(); 

    if ($this->db->affected_rows()) 
    { 
     return $query->row(); 
    } 
} 

, 난 당신이 기존 인증 라이브러리를 사용하는 것이 좋습니다. Ion Auth 꽤 좋습니다.

행운을 빈다.

관련 문제