Tutrial Zend bagian 5 Wirawan Prasety Bestfriends_wp@yah.cm http://www.wirawanprasety.web.id Lisensi Dkumen: Seluruh dkumen di IlmuKmputer.Cm dapat digunakan, dimdifikasi dan disebarkan secara bebas untuk tujuan bukan kmersial (nnprfit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan cpyright yang disertakan dalam setiap dkumen. Tidak diperblehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKmputer.Cm. 5. Membuat halaman lgin 5.1. Hasil akhir Hasil akhir yang akan didapat adalah perubahan pada halaman edit. Disini link edit hanya muncul jika user sudah lgin. Dan muncul pesan Selamat datang xxx. 5.2.Cntekan Di halaman list dan lgin user akan di validasi apakah sudah lgin atau belum. 5.3.Kisi-Kisi Klas-klas tambahan yang akan digunakan : Zend_Auth Dinakan untuk prses autentifikasi 5.4.Membuat authcntrller #Rt\applicatin\cntrllers\ AuthCntrller.php php class AuthCntrller extends Zend_Cntrller_Actin 1
{ functin init() { $this->initview(); $this->view->baseurl = $this->_request- >getbaseurl(); Zend_Lader::ladClass('User'); $auth = Zend_Auth::getInstance(); if ($auth->hasidentity()) { $this->view->nama =Zend_Auth::getInstance()->getIdentity()->username; $this->view->status="lgut"; else { $this->view->nama = "Guest"; $this->view->status="lgin"; functin lginactin() { if ($this->_request->ispst()) { // cllect the data frm the user Zend_Lader::ladClass('Zend_Filter_StripTags'); $f = new Zend_Filter_StripTags(); 2
$username = $f->filter($this- >_request->getpst('txtnama')); $passwrd = $f->filter($this- >_request->getpst('txtpass')); if (empty($username)) { Masukkan username.'; $this->view->message = ' else { a database table // setup Zend_Auth adapter fr Zend_Lader::ladClass('Zend_Auth_Adapter_DbTable'); Zend_Registry::get('dbAdapter'); $dbadapter = $authadapter = new Zend_Auth_Adapter_DbTable($dbAdapter); >settablename('user'); >setidentityclumn('username'); >setcredentialclumn('userpasswrd'); values t authenticate against >setidentity($username); >setcredential(md5($passwrd)); // Set the input credential // d the authenticatin Zend_Auth::getInstance(); $auth = 3
>authenticate($authadapter); $result = $auth- if ($result->isvalid()) { database rw t auth's strage passwrd thugh!) >getresultrwobject(null,'passwrd'); >write($data); = 'Anda sudah lgin'; >status="lgut"; >_redirect('auth/lgin'); else { database rw frm sessin = 'Lgin failed.'; >status="lgin"; // failure: clear $this->view->message // success: stre // system. (Nt the $data = $auth->getstrage()- $this->view->message $this->view- $this- $this->view- functin lgutactin() { $auth = Zend_Auth::getInstance(); if ($auth->hasidentity()) { 4
Zend_Auth::getInstance()->clearIdentity(); $this->_redirect('/auth/lgin'); Penjelasan Fungsi init Ketika user sudah berhasil lgin, maka akan langsung diredirect ke halaman ini. Jika sudah lgin if ($auth- >hasidentity()) { maka ditampilkan nama user $this->view->nama. Jika belum maka tetap guest. lginactin Ketika user lgin maka akan mengirim request dan data lgin dari frm Zend_Lader::ladClass('Zend_Auth_Adapter_DbT able'); memanggil class yg berhubungan dengan knfigurasi untuk berhubungan dengan db $authadapter = new Zend_Auth_Adapter_DbTable($dbAdapter); berguna untuk membuka hubungan dengan db menggunakan knfigurasi diatas untuk Autentifikasi >settablename('user'); menentukan nama db untuk autentifikasi(mdel ) >setidentityclumn('username'); menetukan nama table $auth = Zend_Auth::getInstance(); melakukan validasi ke database $result = $auth->authenticate($authadapter); menyimpan hasil lgutactin Jika user sudah lgin, maka menghapus data. 5
5.5.Halaman lgin # Rt\applicatin\view\script\auth\lgin.phtml php ech $this->render('header.phtml'); Masukkan data anda :<br> php ech $this->message; <br> php $auth = Zend_Auth::getInstance(); if ($auth->hasidentity()) { else { Anda sudah lgin <frm methd="pst"> Masukkan nama kamu : <input type="text" name="txtnama" value=" "><br> Masukkan passwrd kamu : <input type="text" name="txtpass" value=" "> <input type="submit" value="masuk"> </frm> php ech $this->render('fter.phtml'); Penjelasan : Ketika user menekan link lgin maka akan di cek sudah lgin belum, jika sdh mk muncul pesan sudah lgin, jika belum tampil pesan. 6
5.6.Halaman lgut # Rt\applicatin\view\script\auth\lgut.phtml Halaman ini tidak ada isinya, karena di cntrller setelah lgut langsung di redirect ke halaman lgin. Tetapi jika tidak dibuat, akan muncul pesan errr. 5.7.Mengubah tampilan list # Rt\applicatin\view\script\index\list.phtml Ubah baris : <td> <a href="php ech $this->baseurl; /index/edit/id/php ech $baris->id;">edit</a></td> <td> <a href="php ech $this->baseurl; /index/delete/id/php ech $baris->id;">delete</a> </td> Menjadi : $auth = Zend_Auth::getInstance(); if ($auth->hasidentity()) { <td> <a href="php ech $this->baseurl; /index/edit/id/php ech $baris->id;">edit</a></td> <td> 7
<a href="php ech $this->baseurl; /index/delete/id/php ech $baris->id;">delete</a> </td> else { <td> </td><td> </td> Penjelasan : Pada script awal (tutial bagian 4), tmbl edit akan selalu muncul, namun sekarang diubah hanya bg yg sudah lgin 5.8.Mengubah header # Rt\applicatin\view\script\header.phtml <a href="php ech $this- >baseurl;/index/register">register</a> :: <a href="php ech $this->linkurl; ">php ech $this- >linkname; </a> :: Mengubah : <a href="php ech $this- >baseurl;/index/register">register</a> :: <a href="php ech $this->baseurl;/auth/php ech $this- >status; ">php ech $this->status; </a> :: 8
Selamat datang, php ech $this->nama; Penjelasan : Kita hanya menambah url ke halaman lgin saja Bigrafi Penulis Wirawan Prasety (Wawan) lahir pada bulan Desember tahun 1984. Menyelesaikan S1 di Universitas Bina Nusantara, Jakarta jurusan Teknik Infrmatika pada tahun 2007. Saat ini berkerja di sebuah media hukum nline ( www.hukumnline.cm ) sebagai prgrammer. http://www.wirawanprasety.web.id 9