Konsep dasar dari Login adalah mencocokkan username dan password yang dimasukkan oleh user dengan daftar username+password yang tersimpan dalam database. Dengan alasan keamanan, biasanya password disimpan dalam database dengan menggunakan fungsi MD5. MD5 adalah salah satu fungsi hash (satu arah) yang cukup terkenal dalam kriptografi, biasa digunakan untuk autentifikasi user. Sedangkan Logout memiliki konsep dasar yang cukup sederhana, yaitu dengan men-destroy session dari user yang login tersebut.
Step 1 : Konfigurasi CI
Buka file config.php yang berada dalam folder system-application-config-config.php
Ubah base url, sesuaikan dengan lokasi dimana folder CI berada (tempat ekstrak-an).
Contoh: Folder CI berada dalam folder www/ci maka ubah baris $config['base_url']="http://example.com/";
dengan
$config['base_url'] = "http://localhost/ci/";
Setting database.
Buka file database.php yang berada dalam folder yang sama dengan config.php. Ubah hostname, username, password, dan nama database. Sesuaikan dengan pengaturan mysql.
Contoh :
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "db_tutorial";
Step 2 : Siapkan Database
1.Buat database dengan nama db_tutorial (via phpmyadmin)
2.Siapkan tabel dengan nama tb_user misalkan ada 3 field: userid, isername, dan userpass.
3.Insertkan beberapa sample data untuk user yang akan login. misalkan username: june
INGAT : ketika memasukkan password, pilih fungsi MD5.
4.Maka hasil dari insert sample data (dengan password dikenai fungsi MD5) adalah misalnya username : june, userpass nya jadi :11501255f17710952e79563ddc0904ad
Step 3 : Membuat Form Login (view)
Ketikkan script berikut,
(Simpan dengan nama login_view.php, dalam folder system-application-views)
Step 4 : Membuat Controller Pemrosesan Login + Logout
class Login extends Controller {
function login() {
parent::Controller();
$this->load->helper('url');
$this->load->helper('form');
$this->load->library('form_validation');
$this->load->library('session');
}
function index() {
$this->load->view('login_view');
}
//login process
function proseslogin() {
$username = $this->input->post('username');
$password = $this->input->post('password');
$passwordx = md5($password);
$q = $this->db->query("SELECT * FROM tb_user WHERE username='$username' AND userpass='$passwordx'");
if ($q->num_rows() == 1) {
$nama = $q->row()->username;
$this->session->set_userdata('username',$nama);
$data['welcome'] = "Welcome $nama";
$this->load->view('welcome_view', $data);
}
else {
// query error
$data['error']='!! Wrong Username or Password !!';
$this->load->view('login_view', $data);
}
}
//logout process
function logout() {
$this->session->sess_destroy();
$data['logout'] = 'You have been logged out.';
$this->load->view('login_view', $data);
}
}
?>
(Simpan dengan nama login.php dalam folder system-application-controllers)
Step 5 : Membuat tampilan sukses login (view)
Ketikan script berikut,
(Simpan dengan nama welcome_view.php dalam folder system-application-views)
Step 6 : Testing Code
1.Buka browser, pergi ke http://localhost/namaFolderCI/login
2.Akan muncul tampilan seperti dibawah,
Login with CI
| Username | |
| Password | |
3.Masukkan username+password yang benar, yaitu yang ada didatabase (username : june, password : june)
4.Maka anda akan diarahkan menuju halaman sukses login, yaitu halaman welcome seperti dibawah,
5.Klik logout untuk keluar dari halaman welcome.
6.Sekarang masukkan username+password salah (misal username : admin, password : admin)
7.Maka akan ditampilkan warning seperti gambar dibawah.

0 komentar:
Posting Komentar