Cara Membuat Login di Codeigniter
sumber: http://tulisan-blog.blogspot.co.id/2015/07/cara-membuat-login-di-codeigniter.html
Pada artikel kali ini saya akan mencoba membahas kembali mengenai
codeigniter, yaitu dimana pada pertemuan kali ini saya akan membahas
bagaimana carra membuat login dicodeigniter, login disini sudah
menggunakan database tentunya.
Langsung saja kita kecara pembuatannya, siapkan codeigniter atau project
yang sudah kalian buat untuk membuat login ini, disini saya menggunakan
codeigniter versi 2.
1. Pertama kita buat terlebih dahulu database yang akan digunakan, contoh disini saya membuat
database dengan nama db_login dan table_users.
Struktur table_users.
lalu masukan data kedalam table tersebut contoh dengan username admin
& password admin, jangan lupa untuk mengekripsikan password ke md5.
untuk lebih cepat bisa copykan sql dibawah ini.
2. Jika sudah sekarang kita konfigurasi codeignternya, buat project baru dan berinama login, lalu konfigurasi codeigniter kalian seperti gambar dibawah.
application/config/autoload.php
application/config/database.php
application/config/config.php
application/config/routes.php
3. Sekarang kita ke pembuatan modelsny terlebih dahulu, buat file baru dan berinama mdl_users.php lalu masukan script dibawah.
Model : mdl_users.php
03 | class Mdl_users extends CI_Model { |
05 | function login($username, $password){ |
07 | $this - >db - >select( 'id,username,password' ); |
08 | $this - >db - > from ( 'table_users' ); |
09 | $this - >db - >where( 'username' , $username); |
10 | $this - >db - >where( 'password' , MD5($password)); |
12 | $query = $this - >db - >get(); |
14 | if ($query - >num_rows() = = 1 ){ |
15 | return $query - >result(); |
Selanjutnya kita buat untuk beberapa controllernya, seperti dibawah ini.
Controller: login.php
01 | <?php if (!defined( 'BASEPATH' )) exit ( 'no direct script access allowed' ); |
03 | class Login extends CI_Controller{ |
05 | public function index(){ |
07 | $this - >load - >view( 'login_view' ); |
Controller: verifylogin.php
01 | <?php if (!defined( 'BASEPATH' )) exit ( 'no direct script access allowed' ); |
03 | class Verifylogin extends CI_Controller{ |
05 | public function __Construct(){ |
06 | parent :: __construct(); |
07 | $this - >load - >model( 'mdl_users' ); |
12 | $this - >form_validation - >set_rules( 'username' , 'Username' , 'trim|required|xss_clean' ); |
13 | $this - >form_validation - >set_rules( 'password' , 'Password' , 'trim|required|xss_clean|callback_check_database' ); |
15 | if ($this - >form_validation - >run() = = FALSE){ |
16 | $this - >load - >view( 'login_view' ); |
18 | redirect( 'home' , 'refresh' ); |
22 | function check_database($password){ |
24 | $username = $this - > input - >post( 'username' ); |
25 | $result = $this - >mdl_users - >login($username, $password); |
28 | $sess_array = array(); |
29 | foreach ($result as $row){ |
30 | $sess_array = array( 'id' = >$row - > id , |
31 | 'username' = >$row - >username); |
32 | $this - >session - >set_userdata( 'logged_in' , $sess_array); |
36 | $this - >form_validation - >set_message( 'check_database' , |
37 | '<div style = "color:red;" > |
38 | Invalid Username or Password < / div>'); |
Controller : home.php
01 | <?php if ( ! defined( 'BASEPATH' )) exit ( 'no direct access allowed' ); |
03 | class Home extends CI_Controller { |
05 | function __Construct() { |
06 | parent ::__construct(); |
10 | public function index() { |
12 | if ($this - >session - >userdata( 'logged_in' )){ |
13 | $session_data = $this - >session - >userdata( 'logged_in' ); |
14 | $data[ 'username' ] = $session_data[ 'username' ]; / * validasi jika data user tidak benar * / |
17 | $this - >load - >view( 'home' ); |
21 | redirect( 'login' , 'refresh' ); |
Controller logout.php
01 | <?php if (!defined( 'BASEPATH' )) exit ( 'no direct script accsess allowed' ); |
03 | class Logout extends CI_Controller{ |
05 | public function index(){ |
06 | $this - >session - >unset_userdata( 'logged_in' ); |
07 | $this - >session - >sess_destroy(); |
08 | redirect( 'home' , 'refresh' ); |
Setelah selesai membuat models dan controllernya, sekarang kita buat untuk viewsnya, buat file views seperti dibawah.
Views : login_view.php
04 | <meta http - equiv = "Content-Type" content = "text/html; charset=utf-8" / > |
11 | <div class = "form-login" > |
12 | <div class = "panel panel-default" > |
14 | <h1><a href = "<?php echo base_url(); ?>" style = 'color:#000' >Tutorial Login dengan Codeigniter< / a>< / h1> |
19 | <div style = "text-align:center" ><h3>:: LOGIN ::< / h3>< / div> |
22 | <div class = "panel-body" > |
25 | <div style = "width:500px; margin:auto; height:250px; border:solid 1px;" > |
26 | <?php echo validation_errors(); ?> |
27 | <div style = "width:100%;background:green; height:20px;color:white; text-align:center;" ><h4>LOGIN DENGAN CODEIGNITER< / h4>< / div> |
28 | <form method = "post" action = "<?php echo base_url()?>index.php/verifylogin" > |
30 | <div style = "position:relative; left:120px; top:10px; margin-bottom:20px; " > |
32 | < input name = "username" type = "text" placeholder = "Username" required style = 'height:50px; width:250px;' > |
36 | <div style = "position:relative; left:120px; margin-bottom:10px;" > |
38 | < input type = "password" name = "password" placeholder = "Password" id = "password" required style = 'height:50px; width:250px;' > |
42 | <div style = "position:relative; left:120px;" > |
43 | < input type = "submit" value = "Login" style = 'height:50px; width:254px;' / > |
Views : home.php
04 | <meta http - equiv = "Content-Type" content = "text/html; charset=utf-8" / > |
11 | <h1>Selamat Datang di Halaman Admin< / h1> |
12 | <h2><a href = "<?php echo base_url(); ?>index.php/logout" >Logout< / a>< / h2> |
Jika kalian sudah selesai mengikuti step-step diatas, maka selanjutnya silahkan kalian buka http://localhost/login/ maka tampilan dari project ini akan nampak seperti gambar dibawah.
isi username dan password pada form tersebut dengan user : admin pass :
admin, maka akan muncul tampilan seperti gambar dibawah, yang menandakan
kalian telah berhasil login.
untuk kembali keawal tinggal kalian klik link logout. dan selesai sudah
tutorial mengenai codeigniter kali ini yang ternya lumayan cukup panjang
juga pembahasannya :D.
Sourcode atau project dari tutorial ini bisa kalian download dibawah
ini, semoga artikel mengenai codeigniter kali ini bisa membantu
teman-teman yang membutuhkan dan ingin belajar. Happy Coding!
Tidak ada komentar:
Posting Komentar