Tutorial Codeigniter #5: Membuat Login Dengan Codeigniter

Tutorial Codeigniter Part 5 : Membuat Login Dengan Codeigniter – Hello everyone selamat datang kembali diwebsite saya belajarwithib.my.id, pada seri kali ini kita akan Membuat Login Dengan Codeigniter, untuk saat ini kita membuat login yang sederhana biar kamu dapat mengerti denga mudah nantinya. Persiapan Untuk Membuat Login Dengan Codeigniter Untuk membuat login hal yang kita perlukan adalah sebuah database untuk menampung data pengguna/user. Database itu ada banyak jenisnya seperti MYSQL,Microsoft SQL Server,Microsoft access dan banyak lagi, namun disini saya akan menggunakan MYSQL. Baca Juga Tutorial Codeigniter Part 1 : Pengertian dan Cara Instalasi Codeigniter Tutorial Codeigniter Part 2: Mengenal Fungsi Dari Direktori Codeigniter Tutorial Codeigniter Part 3: Memahami Konfigurasi Awal,Controller dan View Tutorial Codeigniter Part 4 : Memahami URI Segment × 1. Pertama kamu harus mengaktifkan XAMPP kamu, untuk mendownload XAMPP kamu bisa kunjungi website resminya.

Tutorial Codeigniter Part 5: Membuat  Login Dengan Codeigniter

Membuat  Login Dengan Codeigniter


Tutorial Codeigniter Part 5 : Membuat  Login Dengan Codeigniter – Hello everyone selamat datang kembali diwebsite saya belajarwithib.my.id, pada seri kali ini kita akan Membuat  Login Dengan Codeigniter, untuk saat ini kita membuat login yang sederhana biar kamu dapat mengerti denga mudah nantinya.

Persiapan Untuk Membuat Login Dengan Codeigniter


Untuk membuat login hal yang kita perlukan adalah sebuah database untuk menampung data pengguna/user. Database itu ada banyak jenisnya seperti MYSQL,Microsoft SQL Server,Microsoft access dan banyak lagi, namun disini saya akan menggunakan MYSQL.
1. Pertama kamu harus mengaktifkan XAMPP kamu, untuk mendownload XAMPP kamu bisa kunjungi website resminya.

Membuat  Login Dengan Codeigniter


2. Lalu, kalian bisa buka link ini http://localhost/phpmyadmin/, nanti kamu akan diarahkan kepengolahan atau pengaturan database nya.

3. Kamu bisa menklik basis data atau database pada pilihan menu lalu kamu bikin nama database nya seperti “belajarwithib” setelah itu tekan create atau buat.


Membuat  Login Dengan Codeigniter


4. Sekarang buat table baru dengan nama table “admin” dan jumlah koloumnya kamu bisa buat 3 setalah itu kalian bisa menekan kirim atau save.

Membuat  Login Dengan Codeigniter

5. Untuk mengisinya kamu bisa mengikuti foto dibawah dan jangan lupa buat AUTO_INCREMENT atau A_I pada field “Id” setelah itu tekan save.

Membuat  Login Dengan Codeigniter


6. Sekarang kali menekan Tambahkan/Insert pada pilihan menu lalu isikan Username: admin dan password: admin123 agar password lebih aman gunakan md5, ID tidak perlu diisi karena sudah AUTO_INCREMENT yang artinya sudah otomatis tertambah dan secara berurutan.

Membuat  Login Dengan Codeigniter


Oke kalian berhasil membuat database nya, nah setelah itu ada hal yang kamu persiap kan lagi dan ikuti langkah dibawah :

1. Aktifkan library database dan session
isikan database dan session di autoload library.

application/config/autoload.php


$autoload['libraries'] = array('database','session');


2. Aktifkan helper url

application/config/autoload.php


$autoload['helper'] = array('url');


3. Set encryption key session codeigniter

application/config/config.php


$config['encryption_key'] = 'belajarwithib';


4. Jangan lupa untuk menghubungkan codeigniter dengan database.

Application/config/config.php


'hostname' => 'localhost',

'username' => 'root',

'password' => '',

'database' => 'belajarwithib',


Nah sampai di sini saya rasa persiapan dasar nya sudah beres. database dan data login si admin sudah ada, helper,menghubungkan database kecodeigniter dan library yang diperlukan juga sudah kita aktifkan, dan encryption key session codeigniter juga sudah kita set.

Membuat Form Login Dengan Codeigniter


Langkah selanjutnya buat sebuah controller dengan nama login.php di controller ini yang akan kita tugaskan untuk menampilkan form login dan melakukan verifikasi/authentikasi username dan password admin yang di masukkan.

application/controllers/login.php


<?php

class Login extends CI_Controller{

 function __construct(){

  parent::__construct();

  $this->load->model('m_login');

 }

 function index(){

  $this->load->view('v_login');

 }

 function aksi_login(){

  $username = $this->input->post('username');

  $password = $this->input->post('password');

  $where = array(

   'username' => $username,

   'password' => md5($password)

  );

  $cek = $this->m_login->cek_login("admin",$where)-

  >num_rows();

  if($cek > 0){

   $data_session = array(

    'nama' => $username,

    'status' => "login"

   );

   $this->session->set_userdata($data_session);

   redirect(base_url("admin"));

  }else{

   echo "Username dan password salah !";

  }

 }

 function logout(){

  $this->session->sess_destroy();

  redirect(base_url('login'));

 }

}


Nah kamu perhatikan pada bagian atas terdapat fungsi construct, fungsi construct adalah fungsi yang pertama kali di jalankan pada saat class di jalankan. Apa yang akan dijalankan? Fungsi construct akan otomatis menjalan model yaitu m_login.

Pada function index kita akan menjalan v_login yang dimana v_login ini belum buat, sekarang buat file baru pada application/views/v_login.php 


<!DOCTYPE html>

<html>

<head>

 <title>www.belajarwithib.my.id</title>

</head>

<body>

 <h1>Membuat Login Dengan CodeIgniter</h1>

 <form action="<?php echo base_url('login/aksi_login'); ?>"

  method="post">

  <table>

   <tr>

    <td>Username</td>

    <td><input type="text" name="username"></td>

   </tr>

   <tr>

    <td>Password</td>

    <td><input type="password"

     name="password"></td>

    </tr>

    <tr>

     <td></td>

     <td><input type="submit" value="Login"></td>

    </tr>

   </table>

  </form>

 </body>

 </html>



Untuk melihat hasilnya kamu bisa mengetik link seperti ini http://localhost/belajarwithib/login .Maka hasilnya akan seperti ini :

Membuat  Login Dengan Codeigniter


Oke coba kamu lihat kembali pada file v_login terdapat form action


<form action="<?php echo base_url('login/aksi_login'); ?>"



Yang artinya form ini akan diolah pada controller login dengan function aksi_login yang sebelumnya kita sudah buat tadi

application/controllers/login.php


function aksi_login(){

  $username = $this->input->post('username');

  $password = $this->input->post('password');

  $where = array(

   'username' => $username,

   'password' => md5($password)

  );

  $cek = $this->m_login->cek_login("admin",$where)->num_rows();

  if($cek > 0){

   $data_session = array(

    'nama' => $username,

    'status' => "login"

   );

   $this->session->set_userdata($data_session);

   redirect(base_url("admin"));

  }else{

   echo "Username dan password salah !";

  }

 }



Form login akan mengirimkan data yang kita masukkan pada coloum username dan password menjadi bentuk array lalu akan dikirim lagi ke m_login.php


$username = $this->input->post('username');

  $password = $this->input->post('password');

  $where = array(

   'username' => $username,

   'password' => md5($password)

  );


Bagaimana mengecek ketersediaan data didalam database? Coba lihat kembali pada controller kita terdapat fungsi num_rows yang dimana itu berfungsi sebagai menghitung jumlah record.


$cek = $this->m_login->cek_login("admin",$where)->num_rows();


Oke sekarang kita akan membuat modelnya, sekarang buat file baru dengan namanya m_login.php letakkan file tersebut pada lokasi application/models/m_login.php 



<?php

class M_login extends CI_Model{

 function cek_login($table,$where){

  return $this->db->get_where($table,$where);

 }

}




Bagaimana cara mengecek username dan password salah atau benar ? coba kamu melihat kembali pada controller kita tadi


if($cek > 0){

   $data_session = array(

    'nama' => $username,

    'status' => "login"

   );

   $this->session->set_userdata($data_session);

   redirect(base_url("admin"));

  }else{

   echo "Username dan password salah !";

  }

 }


jika username dan password di temukan atau benar, maka kita buat session nama berisi username yang di isi tadi. dan session status berisi ‘login’. kemudian kita alihkan ke controller admin. jika username dan password tidak di temukan atau salah, maka halaman akan di tampilkan pesan “username dan password salah !“.

Oke sekarang kamu buat Controller baru dengan nama file admin.php

application/controllers/admin.php


<?php

class Admin extends CI_Controller{

 function __construct(){

  parent::__construct();

  if($this->session->userdata('status') != "login"){

   redirect(base_url("login"));

  }

 }

 function index(){

  $this->load->view('v_admin');

 }

}




Lihat pada fungsi contruct pada controller admin.php kita cek apakah session status ini untuk mendeteksi apakah user atau admin sudah login atau belum. berarti jika admin atau user sudah berhasil login kan otomatis admin atau user tersebut sudah memiliki session login. jika tidak maka halaman akan di alihkan ke halaman login lagi.

Nah sekarang kita akan membuat view untuk admin ketika berhasil login.

application/views/v_admin.php


<!DOCTYPE html>

<html>

<head>

 <title>Membuat login dengan codeigniter</title>

</head>

<body>

 <h1>Login berhasil !</h1>

 <h2>Hai, <?php echo $this->session->userdata("nama"); ?></h2>

 <a href="<?php echo base_url('login/logout'); ?>">Logout</a>

</body>

<footer>www.belajarwithib.my.id</footer>

</html>



Coba kamu lihat pada Logout, disitu kita sudah membuat functionnya di controller Login tadi


function logout(){

  $this->session->sess_destroy();

  redirect(base_url('login'));

 }


Coba kamu lihat pada fungsi ini


$this->session->sess_destroy();


Itu berguna untuk menghapus semua session.
Mari kita coba Login yang telah kita buat tadi

Ketika login menggunakan Username dan Password yang benar

Membuat  Login Dengan Codeigniter


Membuat  Login Dengan Codeigniter


Jika Menggunkan Username dan Password Yang salah

Membuat  Login Dengan Codeigniter


Membuat  Login Dengan Codeigniter


Kesimpulan

Ini yang saya buat tutorialnya masih menggunakan 1 User jika pakai multiuser mungkin tutorial ini akan panjang XD tunggu aja deh next tutorialnya.

Penutupan

Mungkin sekian lah Tentang Tutorial Wordpress Part 2 :Dashboard Wordpress,Instal Thema dan Plugin .Semoga Tutorial Ini dapat membantu anda dalam segala keperluan anda masing-masing.  

Support Website belajarwithib.my.id dengan donasi ke : klik disini .


Sekian dan Terima Kasih Telah Berkunjung