Hey Geeks…
Beberapa waktu lalu aku poting membuat login authentikasi user yang merupakan lanjutan dari tutorial membuat website sekolah dengan codeigniter. Waktu itu masih pake CI 1.7.2, ehh… selang beberapa minggu udh release CI 2.0.2.
Download Full Source Code | Demo Online
Jadi ya… sebelum aku lanjut koding, mending aku upgrade sekalian ke CI versi 2.0.2, biar lebih fresh…hehehe
Oke.. Geeks.. yng lgi mulai belajar CI segera aja download source codeny di GitHub.com.
Sebenarnya perubahanya cuma dikit kok.. cuma di model n controller aja.
klo versi 2.0.2 ketika membuat model ato contrloller itu pas extends ‘CI_Model’ ato ‘CI_Controller’. Ini source code model n controllernya:
Users_model
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
class Users_model extends CI_Model {
var $tabel_name = 'users';
function __construct() {
parent::__construct();
}
function cek_user_login($username, $password) {
$this->db->select('*');
$this->db->where('username', $username);
$this->db->where('password', md5($password));
$query = $this->db->get($this->tabel_name, 1);
if ($query->num_rows() == 1) {
return $query->row_array();
}
}
}
?>
sedang untuk controller Users adalah:
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
class Users extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->model('Users_model');
}
function login() {
$this->form_validation->set_rules('username', 'username', 'required|xss_clean');
$this->form_validation->set_rules('password', 'password', 'required|xss_clean');
$this->form_validation->set_error_delimiters('', '<br/>');
if ($this->form_validation->run() == TRUE) {
$username = $this->input->post('username');
$password = $this->input->post('password');
$login_data = $this->Users_model->cek_user_login($username, $password);
if($login_data){
$session_data = array(
'user_id' => $login_data['id'],
'username' => $login_data['username'],
'type' => $login_data['type'],
'is_login' => TRUE
);
$this->session->set_userdata($session_data);
redirect('users/dashboard');
}else{
$this->session->set_flashdata('message','Login Gagal, Kombinasi username dan password salah.');
redirect('users/login');
}
}
$this->load->view('users/login');
}
function dashboard() {
$this->check_logged_in();
$this->load->view('users/dashboard');
}
function logout() {
$data = array
(
'user_id' => 0,
'username' => 0,
'type' => 0,
'is_login' => FALSE
);
$this->session->sess_destroy();
$this->session->unset_userdata($data);
redirect('users/login');
}
public function check_logged_in() {
if ($this->session->userdata('is_login') != TRUE) {
redirect('users/login', 'refresh');
exit();
}
}
public function is_logged_in() {
if ($this->session->userdata('logged_in') == TRUE) {
return TRUE;
} else {
return FALSE;
}
}
}
?>
Download Full Source Code | Demo Online
Ok Geeks... sampe jumpa di postingan2 berikutnya...#sekian