1.Buka Codeigniter....(pastikan Codeigniter di dalam htdocs Local Sever XAMPP/LAMPP/Apache)
2.Jalankan Local Server (XAMPP,LAMPP atau Apache)
kita mulai berkoding....
3.buat fungsi login ini di controller
function login() { $fields['username'] = "Username"; $fields['password'] = "Password"; $this->validation->set_fields($fields); if($this->input->post("login")) { $rules['username'] = "trim|required"; $rules['password'] = "trim|required|callback_login_check"; $this->validation->set_rules($rules); if($this->validation->run() == FALSE) { // gagal login dan kembali ke form login $data=$this->home_model->form_login(); $this->load->view('login',$data); } else { // berhasil login $data=$this->home_model->halaman_admin(); $this->load->view('halaman_admin',$data); } }else { // tampilkan form login $data=$this->home_model->form_login(); $this->load->view('login',$data); } }
4. Buat fungsi login_check di controller untuk mengecek user dan password.
function login_check() { $usrid = $this->db->escape_str($this->input->post("username")); $passwd =md5($this->input->post("password")); $query = $this->db->query("select * from usr where login='$usrid' and passwd='$passwd'"); $count = $query->num_rows(); if($count>0) { foreach($query->result() as $row) { if($row->disabled=='TRUE') { $this->validation->set_message('login_check', 'Silahkan aktifasi dahulu !'); return FALSE; }else{ $this->session->set_userdata('usrid',$row->usrid); return TRUE; } } }else{ $this->validation->set_message('login_check', 'Access denied'); return FALSE; } }
keterangan :
- Pada setiap validasi password saya tambahkan perintah untuk memanggil fungsi login_check. Fungsi ini mengecek user dan password. Jika berhasil akan mengembalikan nilai TRUE dan jika gagal mengembalikan nilai FALSE
- Di dalam fungsi login_check terdapat script $this->db->escape_str(). Script ini di gunakan agar halaman login kita tidak bisa di sql injection. Biasanya sql injection selalu memberikan tanda petik atau tanda kutip pada textfield username dan password sedangkan script tadi secara otomatis menambahkan tanda \' \' agar sql injection tidak bisa jalan.
- Di dalam fungsi login_check ini juga melakukan set session.
nah jadilah login sederhana dari framework..
sekian dan trima kasih....




