Session CodeIgniter (Form Login)
Buat tabel tbl_user pada database crud_db.
- Form Login dan Menu User
- Home
Kita Mulai dari pembuatan form login.
- belajarcodeigniter
- view
- user
- login.php
Selanjutnya kita buat controller user untuk menangani login, logout dan
data user sendiri.
- belajarcodeigniter
- application
- controllers
- User.php
Ada beberapa method pada controller user yaitu:
- login
untuk menangani login dan membuat session. - logout
untuk menghapus session. - data
menampilkan data user. - tambah
menyiapkan form tambah data. - aksi_tambah
menangani tambah data. Password di enkripsi dengan algoritma sha1. - edit
menyiapkan form edit. - aksi_edit
menangani edit data. - hapus
menangani hapus data.
Adapun model yang digunakan sebagai berikut.
- belajarcodeigniter
- application
- models
- User_model.php
Selanjutnya buat model untuk user bernama User_model.php
Pada tutorial kali ini saya menggabungkan controller login dengan
manajemen user dan medel yang digunakan adalah User_model.php. Kita akan bahas mengenai session dimana kode membuat
session, mengecek sesssion dan penghapusan session.
#membuat session
Fungsi cek_login pada model digunakan untuk mencari data berdasarkan usename dan password pada tabel tbl_user. Jika username dan password yang dihashkan (sha1) sama, maka pembuatan session dilakukan. Berikut ini kode inti membuat session dari controller user.
$data_session = array(
'email' =>
$email,
'status'
=> "login"
);
$this->session->set_userdata($data_session);
Terlihat fungsi session yang digunakan adalah set_userdata();
#mengecek session
Pengecekan session biasanya dilakukan hampir disemua halaman sehingga kita menempatkan cek session di helper yang di-aoutoload-kan.
- belajarcodeigniter
- application
- helpers
- cek_login_helper.php
Selanjutnya daftarkan helper ini pada autoload.
- belajarcodeigniter
- application
- config
- autoload.php
Kemudian pada method construct semua controller (Home, Mahasiswa, dll)
helper ini dipanggil, fungsinya jika belum login maka akan
ditampilkan halaman login.
#menghapus session
Kode inti menghapus session pada method logout adalah.
$this->session->sess_destroy();
Untuk menu management user dan home terlalu panjang untuk dibahas disini.
Saya akan paparkan file-file yang sudah dibuat pada tutorial kali ini dan nanti projeknya bisa di
download.
- berlajarcodeigniter
- application
- controllers
- Home.php
- User.php (sudah)
- helpers
- cek_login_helper.php (sudah)
- model
- User_model.php (sudah)
- view
- _includes
- head_home.php
- js_home.php
- dll
- home
- home.php
- user
- login.php (sudah)
- user_list.php
- user_form.php
Download projeknya di
sini .