Panada: Membuat Halaman Login Dengan Session

![](http://2.bp.blogspot.com/-a-2NfNOb_PY/Tf2qlSBZr7I/AAAAAAAAAl4/wjUcZZBoE84/ s1600/lock.png)

Membuat login menggunakan Panada Framework tidak begitu sulit, kalo ini saya mencoba untuk membuat tutorial bagaimana membuat halaman login. Halaman login biasanya dibutuhkan jika user ingin mengakses halaman web yang terproteksi atau halaman yang bersifat private.
Introduction
 Hal-hal yang dibutuhkan untuk membuat halaman login, terutama library yang harus diload pada Panada, berikut diantaranya :

Karena disini menggunakan database, diharapkan settingan** “config.php” **anda pada bagian database telah disetting dengan benar, sedangkan struktur tabelnya sendiri saya menggunakan seperti kode dibawah ini

CREATE TABLE IF NOT EXISTS `users` (  
  `id` int(3) NOT NULL auto_increment,  
  `username` varchar(16) NOT NULL,  
  `password` varchar(32) NOT NULL,  
  `nama_depan` varchar(32) NOT NULL,  
  `nama_belakang` varchar(32) NOT NULL,  
  `email` varchar(32) NOT NULL,  
  PRIMARY KEY  (`id`)  
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;  
  
INSERT INTO `users` (`id`, `username`, `password`, `nama_depan`, `nama_belakang`, `email`) VALUES  
(1, 'chars19', 'b69d9bc635ccd79ad2c64bc862abe3b4', 'Lionel', 'Messi', '[email protected]');  

Kebutuhan File
  Ada 2 file yang akan dibuat, yaitu 1 buah file Controller dan 1 buah
  file View.

Penjelasan Kode
** baris 6:** meload library request untuk mengambil hasil post dari form .
** baris 8:** data yang akan dikirim ke view.
** baris 18-21:** mengecek apakah nilai post ‘submit’ ada, jika ada lakukan proses_login() jika tidak tampilkan view.
** baris 25:** meload library database.
** baris 27-28:** mengambil nilai post ‘username’ dan ‘password’.
Nilai post ini difilter dengan FILTER_SANITAZE_MAGIC_QUOTES
untuk username dan password, filter ini untuk melakukan escape pada karakter- karakter tertentu. _INFO_
** baris 30-31:** set nilai untuk view.
** baris 33:** cek apakah nilai submit ‘username’ dan ‘password’ tidak sama dengan kosong.
** baris 34:** melakukan query ke database, $this->db->find_one() ini
untuk mengambil 1 data berdasarkan argument yang
diberikan, nilai kembaliannya adalah object dari hasil
query jika data yang dicari ada, atau false jika data
tidak ada. Info tentang perintah disini.
** baris 37:** jika data yang dicari tidak ada set nilai ’error_info’.
** baris 39-40: **Login sukses.
** baris 44: baris ini dieksekusi jika, data post tidak lengkap, misalkan password atau usernamenya kosong.
** baris 50-52:
adalah fungsi untuk logout()
fungsi $this->location() adalah fungsi untuk menampilkan url yang
ingin ditampilkan. [INFO](http://www.panadaframework.com/documentation/id/re ferences/global_method.html)

Penjelasan Kode
variabel-variabel pada file ini adalah ‘key’ dari
_ $this->data_login_ yang dikirim lewat view, secara default Panada
akan merubah nilai ‘key’ dari sebuah array yang dikirim lewat perintah view.
Misalkan_ $data[’login’] = true_;
maka di file ‘view’, kita bisa menggunakan variabel $login yang merupakan ‘key’ dari $data, dimana nilainya adalah true.
Hal ini sama dengan kebanyakan PHP Framework yang lainnya.

** baris 8-10: adalah yang akan ditampilkan jika telah login atau loginnya sukses.
** baris 15-29:
sebaliknya jika belum atau login gagal.

Note :
  adalah tempat instalasi Panada

Referensi