Membuat Form Login dalam CodeIgniter Versi 2
Contoh Kasus:
Saya ingin membuat Form Login Administrator seperti terlihat pada gambar dibawah ini:
Ketentuan setelah menekan tombol login:
Jika salah satu teks tidak diisi maka form akan tetap disini.
Jika semua teks sudah diisi dan pemeriksaan pada tabel user sesuai maka tampilkan halaman sukses login yang hanya berisi tulisan ‘Welcome nama_user’, dimana nama_user ini adalah nilai dari variabel session CodeIgniter.
Ketentuan field dari tabel user:
- username bertipe varchar(20)
- password bertipe varchar(16) dan password ini harus dienkripsi menggunakan metode md5
Ketentuan Folder admin:
- Buatlah folder bernama admin dalam folder application/controller, dalam folder admin inilah kamu membuat controllermu.
Diketahui:
File CodeIgniter saya berada dalam folder hrd, jadi untuk mengakses dari browsernya adalah http://localhost/hrd/index.php
Untuk membuatnya maka diperlukan beberapa tahap, yaitu:
- Membuat tabel user
- Membuat View bernama vlogin
- Membuat Controller bernama Cuser
- Membuat fungsi Controller tampil_login
- Membuat fungsi Controller periksa_user
- Membuat Model bernama Muser
- Membuat View bernama Vsukses
Membuat tabel user
Kamu bisa gunakan tool phpmyadmin untuk membuat tabel user.
Setelah itu isi datanya sehingga seperti terlihat pada gambar dibawah ini:
Membuat View vlogin
Buatlah satu file view bernama vlogin.php dan masukkan kode berikut ini:
Membuat Controller Cuser
Sebelum membuat Controller Cuser maka aktifkan library database dan session dalam file autoload.php yaitu:
$autoload[‘libraries’]=array(‘database’,’session’);
Buatlah satu Controller bernama cuser beserta metode tampil_login dan periksa_user seperti kode dibawah ini:
Keterangan:
- $this->input->post(), kode ini digunakan untuk mengambil semua nama elemen form yang dikirim.
- $hasil_query->num_rows(), pada kode ini metode num_rows() digunakan untuk menghasilkan jumlah baris dari objek $hasil_query.
Hasil:
- Kamu buka alamat http://localhost/hrd/index.php/admin/tampil_login maka akan tampil form login administrator.
Membuat Model Muser
Buatlah satu model bernama muser.php dengan kode seperti dibawah ini:
Keterangan:
- substr(md5($data_user[‘password’]),0,16), kode ini berarti mengambil string sebanyak 16 karakter dari string yang telah dienkripsi oleh md5, dimana md5 ini akan membuat karakter enkripsi sebanyak 32 karakter.
Membuat View vsukses
Buatlah satu file View bernama vsukses.php dengan kode seperti dibawah ini:
mas, mau nanya semua uda ngikutin tutorialnya tp kok muncul eror ini ya
An Error Was Encountered
In order to use the Session class you are required to set an encryption key in your config file.
salahnya dimana lagi itu ?
@Frizky Zendy : untuk menggunakan session di CI 2 pada file config.php cek kode program seperti dibawah ini :
$config[‘encryption_key’] = ”;
nah string yang kosong itu diisi dengan kunci enkripsinya.
misal : $config[‘encryption_key’] = ‘test123’;
Iya benar, coba lihat tutorial saya di http://a2fahmi.com/?p=4394
uda berhasil mas. thx. hehe
o iya mau nanya lagi. aku masih bingung. misal di database ada 2 user karyawan dan admin. kan itu dibedain dari id yang mereka pny kan. ini modelnya :
function Login($data_user) {
$this->db->where(‘id_karyawan’, $data_user[‘username’]);
$this->db->where(‘password’, $data_user[‘password’]);
return $this->db->get(‘login’);
}//end function
nah cara kirim id_karyawan ke controller gmn ya mas ?? maksud aku untuk mengecek id itu admin atau karyawan. kalo pake php biasa ngerti, kalo pake CI masih pemula. heheh
mantap!
Salam Kenal juga Terima Kasih Om Fahmi Basya Kartapura
saya ‘sangat’ awam di dunia software developing
tapi, mudah2an dengan tutorial2 yang ada di site ini
bisa membantu saya.
boleh minta YM 😀
mas makasih tutorialnya cuma ada yang mo saya tanyain gimana yach klo bikin yang multi level user
Terima Kasih Tutorialnya ya.. bermanfaat banget .
Waah bermanfaat sekali tutorialnya, buat saya yg newbe ini.
Terimakasih banyak gan.
Ehm saya mencoba menggabungkan tutorial login ini dengan tutorial “membuat template di codeigniter Versi 2”. Saya mengganti pada controller cuser jika num_rows>0 nge link ke tampilan.php, tetapi muncul error:
“A PHP Error was encountered
Severity: Notice
Message: Undefined variable: isi ”
saya harus mendefinisikan variabel isi ini dimana yah?
Thx
sudah bisa mas, variabel isi saya deklarasikan di controler cuser.
Coba saya lihat kode dalam Controller tampil_login … ?
load->view('vlogin');
}
public function periksa_user(){
$this->load->model('Muser');
$data_user=$this->input->post();
if(empty($data_user['username']) or empty($data_user['password'])){
redirect('admin/cuser/tampil_login','refresh');
}
else
{
$hasil_periksa=$this->Muser->periksa_user($data_user);
if($hasil_periksa->num_rows()> 0)
{
$this->session->set_userdata('nama_user',$data_user['username']);
$this->load->view('admin/sukses');
}
else
{
redirect('admin/tampil_login');
}
}
}
}
saya ikutin dari yang bikin template dari freecsstemplate masbro
fungsi tampil_login mana ?