Reputation: 507
I am still quite new to Codeigniter and have a noob problem I need some help with.
I am trying to set the auto incremented id number for each user to the session data as user_id. eg:
Controller:
$username = $this->input->post('username');
$this->load->model('membership_model');
$user_id = $this->membership_model->getUser_id();
$data = array(
'session_id' => $str = do_hash($str),
'user_id' => $user_id,
'username' => $username,
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect('site/members_area');
Model:
public function getUser_id()
{
$session_username = $this->session->userdata('username');
$q = $this->db->get_where('membership', array('username' => $session_username), 1);
if($q->num_rows() > 0) {
foreach($q->result() as $row) {
$row->id;
$row->username;
}
return $data;
}
}
My problem is I am not sure how to pass the $row->id; object from the model to the controller to be used as the user_id.
Can someone please provide some advice or am I approaching this in the wrong way?
Thank you in advance for any assistance provided.
Upvotes: 1
Views: 834
Reputation: 20475
Its quite simple, just return the id:
public function getUser_id()
{
$session_username = $this->session->userdata('username');
$q = $this->db->get_where('membership', array('username' => $session_username), 1);
if($q->num_rows() > 0) {
$row = $q->row();
return $row->id;
}
return false; // else return false
}
Upvotes: 1