i want to set user data in session. i am able to set email in session data as i am getting it from login form. But i dont know how to get all details from database and set to session. here is my code
Controller:
public function login_validation() {
// get form input
$email = $this->input->post("email");
$password = $this->input->post("password");
// form validation
$this->load->library('form_validation');
$this->form_validation->set_rules("email", "Email-ID", "trim|required");
$this->form_validation->set_rules("password", "Password", "trim|required");
if ($this->form_validation->run() == FALSE)
{
// validation fail
$this->load->view('admin/login');
}
else
{
// check for user credentials
$this->load->model('site_model');
$uresult = $this->site_model->get_user($email, $password);
$data["results"]=$this->site_model->getdata_user($email);
foreach ($data as $row) {
$fname = $row['fname'];
}
if (count($uresult) > 0)
{
$data = array(
'email' => $email,
'fname' => $fname,
'lname' => $lname,
'pre'=>$pre,
'is_logged_in' => 1
);
// set session
$this->session->sess_expiration = '0';// will not expire
$this->session->set_userdata($data);
redirect("admin/index");
}
else
{
$this->session->set_flashdata('msg', '<div class="alert alert-danger text-center">Wrong Email-ID or Password!</div>');
$this->load->view('admin/login');
}
}
}
The model:
function getdata_user($email)
{
$query= $this->db->get_where("users", array("email"=>$email));
return $query->result();
}
there are some fileds in users table: fname,lname that i want to set to session.
thank you in advance.