Guest User

Untitled

a guest
Aug 3rd, 2018
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. User Login Functions: Code Improvement
  2. users:
  3. id -> int 11 auto pri
  4. fname -> varchar 50
  5. lname -> varchar 50
  6. phone -> int 45
  7. email -> varchar 100
  8. username -> varchar 50
  9. password -> varchar 100
  10. role -> varchar 5
  11.  
  12. public function login() {
  13.  
  14. $this->form_validation->set_rules('username','Username', 'required|valid_email|trim|max_length[99]|xss_clean');
  15. $this->form_validation->set_rules('password','Password', 'required|trim|max_length[200]|xss_clean|callback__checkUsernamePassword');
  16.  
  17. if($this->form_validation->run() === TRUE) {
  18. // set CLEAN data in the session.
  19. redirect('admin/dashboard');
  20. }
  21.  
  22. $this->index();
  23. }
  24.  
  25. function logout() {
  26.  
  27. $this->session->sess_destroy();
  28. $this->index();
  29.  
  30. }
  31. function _checkUsernamePassword() {
  32. // adding the _ makes the function 'private' so it can't be called from the URI.
  33.  
  34. extract($_POST); // Gets data from form and creates vars
  35.  
  36. $user = $this->login_model->check_login($username,$password);
  37.  
  38. if(! $user){ // != If username or password are not correct
  39. $this->session->set_flashdata('login_error',TRUE); //does not add the non valid login to the session
  40. $this->form_validation->set_message('_checkUsernamePassword', 'Sorry %s is not correct.');
  41. return FALSE;
  42.  
  43. } else {
  44. $this->session->set_userdata('logged_in',TRUE);
  45. $this->session->set_userdata('user_id',$user->id);
  46. $this->session->set_userdata('user_name',$user->first_name);
  47. $this->session->set_userdata('user_email',$user->email);
  48. return TRUE;
  49.  
  50. }
  51.  
  52. function check_login($username,$password) {
  53.  
  54. $query = $this->db->query("SELECT id, first_name, last_name, email, password FROM users WHERE email = ? and password = ?", array($username, md5($password))); // Result
  55.  
  56. return ($query->num_rows() == 1) ? $query->row() : FALSE;
  57.  
  58. }
Add Comment
Please, Sign In to add comment