Search code examples
phpmysqlcodeigniter-2

how to insert user login date and time in db using php codeigniter?


I want to insert login date/time in database when user gets login every time. This is my model......

public function login(){
    $this->db->where('username',$this->input->post('username'));
    $this->db->where('password',md5($this->input->post('password')));
    $result = $this->db->get('auth_user');
    if($result->num_rows() > 0){
        $result = $result->row();
        $data = array(
            'id'        => $result->id,
            'username'  => $result->username,
        );
        $this->session->set_userdata($data);
        return true;
    }else{
        return false;
    }
}

Solution

  • Step 1: You need to create a new table where you will insert login logs.

    Step 2: After session set you can insert.like this:

    if($result->num_rows() > 0){
            $result = $result->row();
            $data = array(
            'id'        => $result->id,
            'username'  => $result->username,
            );
            $this->session->set_userdata($data);
    
            //insert here
            $this->db->insert('yourtable', array('user_id' => $result->id, 'logintime'=> date('Y-m-d H:i:s')));
    
            return true;
        }