ikuti

Jumat, 29 Juli 2016

Cara Membuat Login di Codeigniter

Cara Membuat Login di Codeigniter

sumber: http://tulisan-blog.blogspot.co.id/2015/07/cara-membuat-login-di-codeigniter.html
Cara Membuat Login di Codeigniter
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.

Cara Membuat Login di Codeigniter
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

Cara Membuat Login di Codeigniter
application/config/database.php
Cara Membuat Login di Codeigniter
application/config/config.php

Cara Membuat Login di Codeigniter

application/config/routes.php


Cara Membuat Login di Codeigniter
3. Sekarang kita ke pembuatan modelsny terlebih dahulu, buat file baru dan berinama mdl_users.php lalu masukan script dibawah.
Model : mdl_users.php

01<?php
02 
03 class Mdl_users extends CI_Model {
04   
05  function login($username, $password){
06    
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));
11   $this->db->limit(1);
12   $query = $this->db->get();
13    
14   if($query->num_rows() == 1){
15    return $query->result();
16   }else{
17    return false;
18   }
19  }
20 }
21 
22?>
Selanjutnya kita buat untuk beberapa controllernya, seperti dibawah ini.

Controller: login.php


01<?php if(!defined('BASEPATH')) exit ('no direct script access allowed');
02 
03 class Login extends CI_Controller{
04   
05  public function index(){
06    
07   $this->load->view('login_view');
08  }
09 }
10?>

Controller: verifylogin.php

01<?php if(!defined('BASEPATH')) exit ('no direct script access allowed');
02  
03 class Verifylogin extends CI_Controller{
04   
05  public function __Construct(){
06   parent :: __construct();
07   $this->load->model('mdl_users');
08  }
09   
10  function index(){
11    
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');
14    
15   if($this->form_validation->run() ==FALSE){
16    $this->load->view('login_view');
17   }else{
18    redirect('home','refresh');
19   }
20  }
21   
22  function check_database($password){
23    
24   $username = $this->input->post('username');
25   $result = $this->mdl_users->login($username, $password);
26    
27   if($result){
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);
33    }
34    return TRUE;
35   }else{
36    $this->form_validation->set_message('check_database',
37             '<div style="color:red;">
38              Invalid Username or Password </div>');
39    return false ;
40   }
41  }
42 }
43?>

Controller : home.php

01<?php if( ! defined('BASEPATH')) exit ('no direct access allowed');
02 
03 class Home extends CI_Controller {
04  
05 function __Construct() {
06 parent ::__construct();
07  
08 }
09  
10 public function index() {
11   
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*/
15   
16   
17  $this->load->view('home');
18   
19  
20  }else{
21    redirect('login','refresh');
22  }
23 }
24  
25 }
26 
27?>

Controller logout.php


01<?php if(!defined('BASEPATH')) exit ('no direct script accsess allowed');
02 
03 class Logout extends CI_Controller{
04   
05  public function index(){
06   $this->session->unset_userdata('logged_in');
07   $this->session->sess_destroy();
08   redirect('home','refresh');
09  }
10 }
11 
12?>

Setelah selesai membuat models dan controllernya, sekarang kita buat untuk viewsnya, buat file views seperti dibawah.

Views : login_view.php


01<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
02<html xmlns="http://www.w3.org/1999/xhtml">
03<head>
04<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
05<title>Login</title>
06  
07  
08</head>
09 
10<body>
11 <div class="form-login">
12 <div class="panel panel-default">
13  <div>
14     <h1><a href="<?php echo base_url(); ?>" style='color:#000'>Tutorial Login dengan Codeigniter</a></h1>
15     <hr/>
16    </div>
17     
18    <!--
19    <div style="text-align:center"><h3>:: LOGIN ::</h3></div>
20    <hr />
21     -->
22 <div class="panel-body">
23  
24   <!-- Message Eror --
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">
29    
30     <div style="position:relative; left:120px; top:10px; margin-bottom:20px; ">
31   
32      <input name="username" type="text" placeholder="Username" required style='height:50px; width:250px;'>
33      </div>
34    
35     
36    <div style="position:relative; left:120px;  margin-bottom:10px;">
37    
38      <input type="password" name="password"  placeholder="Password" id="password" required style='height:50px; width:250px;'>
39   </div>
40    
41     
42    <div style="position:relative; left:120px;">
43     <input type="submit" value="Login" style='height:50px; width:254px;' />
44    </div>
45     
46   </form>
47   </div>
48   </div>
49   </div>
50   </div>
51</body>
52</html>

Views : home.php


01<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
02<html xmlns="http://www.w3.org/1999/xhtml">
03<head>
04<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
05<title>Login</title>
06  
07  
08</head>
09 
10<body>
11 <h1>Selamat Datang di Halaman Admin</h1>
12 <h2><a href="<?php echo base_url(); ?>index.php/logout">Logout</a></h2>
13</body>
14</html>

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.
Cara Membuat Login di Codeigniter
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.
Cara Membuat Login di Codeigniter
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