Langsung ke konten utama

Membuat Sistem Login & Logout – CodeIgniter

Membuat Sistem Login & Logout – CodeIgniter

Setelah membuat beberapa tutorial mengenai sistem login menggunakan PHP native, kali ini saya akan membagikan cara membuat sistem login menggunakan PHP framework yaitu CodeIgniter atau yang biasa disebut CI. Sebetulnya tidak berebda jauh, tapi tetap pasti ada perbedaan karena sudah berbeda ranah (native dan framework), tentunya (seharusnya) lebih menggunakan framework karena kita cukup memanggil class-class yang sudah disediakan.
Belum punya framework CodeIgniter ? Download dan lihat cara install nya disini.

Apache & MySQL

Hal yang pertama kali dilakukan yaitu memasang apache & sql controller terlebih dahulu misalnya XAMPP, kemudian jalankan bagian Apache dan MySQL nya. Setelah itu, tentu harus memastikan databasenya. Belum punya XAMPP ? Download dan lihat cara installnya disini. Setelah itu, pastikan table database untuk kredensial login sudah tersedia misalnya table user. Jika belum, mari kita buat terlebih dahulu.

Membuat Table Database “users”

Buka phpMyAdmin (localhost/phpmyadmin), jika belum memiliki database maka perlu membuat database nya terlebih dahulu (lihat disini bagaimana cara membuat database di phpMyAdmin). Disini saya akan menggunakan database yang sudah ada, namanya yaitu “tutorialcirio“. Maka di dalam database ini saya tinggal membuat table users.
Buka database tutorialcirio kemudian klik buat table baru (New), berinama users. Lengkapilah table ini seperti biasanya membuat table untuk kredensial atau akun misalnya mengandung username, email, password. Pastikan memiliki email/username dan password, karena ini yang akan digunakan untuk login.

Nama Jenis Keterangan
id INT Auto Increment & Primary
username Varchar
email Varchar
password Varchar

Contoh table users yang sederhana
Pastikan table ini sudah memiliki user, ini akan digunakan untuk praktek login nantinya. Misalnya akun admin dengan usernameadmin“, emailadmin@email.com” dan password123456“.

Konfigurasi Database

Sekarang kembali ke codingan, buka file databse.php di dalam application -> config pada folder project CI. Hanya memastikan saja, konfigurasi database nya sudah benar. Cari bagian hostname dan isi dengan “localhost“, username di isi dengan “root“, password biarkan kosong, database di isi dengan nama database (tutorialcirio). Ini adalah setelan default dari user database, jika sudah pernah membuat database dengan username lain dan diberikan password, maka silahkan isi sesuai aslinya.

Autoload

Hanya untuk memastikan saja, silahkan buka file autoload.php di dalam application -> config pada project CI lalu cari autoload[libraries] dan isi dengan session & database$autoload['libraries'] = array('session', 'database');karena pada sistem login akan bermain dengan session dan database. Pastikan juga pada autoload helper nya terisi form, misalnya seperti ini: $autoload['helper'] = array('url', 'file', 'form');

Encryption Key

Jangan lupa untuk memasukkan value didalam encryption key yang ada di dalam file config.php pada folder application -> config. Cari encryption key dan isi dengan value, misalnya encLog$config['encryption_key'] = 'encLog';ini diperlukan karena kita akan menggunakan session dalam proses login.

Views

Setelah mengkonfigurasi instalasi untuk sistem login, sekarang mulai membuat halaman login nya terlebih dahulu. Buatlah file baru didalam folder application -> views misalnya dengan nama login.php. Didalam login.php yang ada di views ini silahkan buat tampilan untuk halaman login, sederhananya saya hanya mencontohkan dengan formulir login saja supaya cepat. Misalnya seperti ini:
<?php
echo form_open('auth/login');
?>
<input type="text" name="username">
<input type="text" name="password">
<button type="button" name="submit">LOGIN</button>
</form>
Biarkan saja dulu seperti ini, sekarang kita lanjutkan ke controller dulu.

Controller

Buatlah file baru di dalam folder application -> controllers dengan nama yang diinginkan, misalnya auth.php. Salin kode berikut kedalam file auth.php:
<?php
class auth extends CI_Controller{

function __construct(){
  parent::__construct();
  $this->load->model('model_userLog');
}

  function login()
  {
    if(isset($_POST['submit'])){
      $username = $this->input->post('username');
      $password = $this->input->post('password');
      $berhasil = $this->model_userLog->login($username,$password);
      echo $berhasil;
    }else{
        $this->load->view('form_login');
    }
  }
}
Seperti yang kita ketahui, pada framework CodeIgniter kita memerlukan model untuk sistemnya. Lihat pada auth.php terdapat model dengan nama model_userLog. Mari kita buat model nya terlebih dahulu.
Buat file baru dengan nama model_userLog (atau nama apapun, tapi sesuaikan juga di controller auth.php nya) di dalam folder application -> models. Selanjutnya salin kode berikut didalam file model yang baru saja dibuat:
<?php
class model_userLog extends CI_Model{

function login($username,$password){
  $periksa = $this->db->get_where('users',array('username'=>$username,'password'=> md5($password)));
  if($periksa->num_rows()>0){
    return 1;
  }else{
    return 0;
  }
}
}
Di kodingan ini terdapat kondisi “jika kredensial yang digunakan untuk login memang benar ada pada database maka akan menampilkan angka 1 sedangkan jika tidak ada maka menampilkan 0” dan di file auth.php nya tadi kita tidak menentukan kemana user akan diarahkan jika berhasil / gagal login maka sistem akan membaca kondisi yang ada di dalam model ini. Ini hanya untuk contoh saja karena nantinya kita akan arahkan ke halaman yang diinginkan misalnya halaman dashboard akun.
Sampai sini, silahkan test terlebih dahulu kali aja ada kesalahan. Jika sudah benar, maka sistem login ini sudah berhasil. Nah, sekarang mari kita mulai mengarahkan user yang berhasil login dan user yang gagal login.

Redirect

Silahkan buka file auth.php, sebelumnya kita hanya menampilkan saja (echo $berhasil) tapi sekarang mari kita buat kondisi yang akan mengarahkan user yang berhasil login dan yang gagal login. Hapus echo $berhasil;dan tambahkan kondisi berikut:
if($berhasil == 1){
        $this->session->set_userdata(array('status_login'=>'sukses'));
        redirect('dasbor');
      }else{
        redirect('index.php/auth/login');
      }
Ini adalah contoh ketika user berhasil login dengan kredensial yang ada di database maka diarahkan ke dasbor tapi jika ternyata gagal maka tetap berada di halaman login. Silahkan tentukan halaman arahan yang diinginkan, simpan dan lihat hasilnya.

Logout

Setelah berhasil, tentu kita perlu membuat sistem logout nya juga supaya makin joooos. Karena disini belum ada halamannya dan belum ada tombol logoutnya, kita contohkan lewat function saja. Salin kode berikut setelah penutup isi function login:
function logout(){
    $this->session->sess_destroy();
    redirect('');
Nama function nya saya contohkan dengan logout, maka sekarang isi dari file auth.php nya seperti ini:
<?php
class auth extends CI_Controller{

function __construct(){
  parent::__construct();
  $this->load->model('model_userLog');
}

  function login()
  {
    if(isset($_POST['submit'])){
      $username = $this->input->post('username');
      $password = $this->input->post('password');
      $berhasil = $this->model_userLog->login($username,$password);
      if($berhasil == 1){
        $this->session->set_userdata(array('status_login'=>'sukses'));
        redirect('dasbor');
      }else{
        redirect('index.php/auth/login');
      }
    }else{
        $this->load->view('form_login');
    }
  }
  function logout(){
    $this->session->sess_destroy();
    redirect('');
  }
}
Silahkan tentukan saja sesuai keinginan. redirect nya pun silahkan tentukan kemana ingin mengarahkan user jika berhasil logout. Jika di kosongkan seperti itu maka akan diarahkan ke halaman beranda (home).
Masih bingung ? Lihat : Video tutorial cara membuat sistem login & logout CodeIgniter.
Sekarang, silahkan coba login dengan kredensial yang benar hingga diarahkan ke halaman dasbor tadi dan coba function logout. Tadi login di localhost/tutorialcirio/index.php/auth/login maka sekarang coba logout dengan merubah function login menjadi logout localhost/tutorialcirio/index.php/auth/logout.
Selamat mencoba !

Komentar

Postingan populer dari blog ini

Cara Download Aplikasi (.apk) Playstore Berbayar Jadi Gratis

  Langsung ke isi Menu Alutekno  »  Android  »  Cara Download Aplikasi (.apk) Playstore Berbayar Jadi Gratis Cara Download Aplikasi (.apk) Playstore Berbayar Jadi Gratis Download Aplikasi (Apk) Berbayar jadi Gratis di Playstore  – Pengguna smartphone Android semakin tahun semakin berkembang pesat begitu juga jumlah aplikasi yang telah di publish di playstore semakin meningkat pula. ADVERTISEMENT Daftar Isi Cara Download Aplikasi Playstore Berbayar Jadi Gratis 1. Download Aplikasi Blackmart Alpha 2. Menggunakan Lucky Patcher 3. Mencari File .apk Berbayar dari Situs File Sharing ADVERTISEMENT Aplikasi yang ada di playstore terbagi menjadi dua kategory yaitu yang gratis dan berbayar, aplikasi gratis biasanya terdapat iklan di dalamnya sehingga developer bisa mendapatkan uang untuk mengembangkan aplikasi yang telah di buatnya. Sedangkan Aplikasi berbayar atau premium biasanya tidak terdapat iklan dan mempunyai fitur yang lebih lengkap dibandingkan dengan aplika...

Cara Membuat Form Login Menggunakan HTML&CSS

  Upgrade Responses (2) Sukma Riadi Pakpahan What are your thoughts?  Cancel Respond Agustinus Giri Hartono 3 months ago Aku dah coba, tapi bagian bawah kotak login masih putih. Bagaimana supaya background sama dengan gradasi hijau? di >> body { background: -webkit-linear-gradient(bottom, #2dbd6e, #a6f77b); background-repeat: no-repeat; } 1 1 Arif Firmansyah 3 months ago terima kasih banyak boss cara menjelaskan sangat detail banget….saya berhasil membuat halaman login yang di jelaskan tadi, saya ingin penjelasannya lagi bagaimana cara masuk ke login dan membuat halaman baru karena saya masih pemula Welcome back. You are signed in as  srpakpahansst@gmail.com .  Not you? Tutorial Mendesain Form Login Menggunakan HTML&CSS Kimiyuki Yukawa Follow Mar 25, 2019  · 9 min read Tentu kita tidak asing lagi dengan istilah  login  dalam dunia  website . Halaman  login  sendiri dibuat untuk memberikan akses kepada  user...

PANDUAN CARA INSTALL WORDPRESS DI PC LOCALHOST [OFFLINE]

READY..! START BLOGGING WITH WORDPRESS..? Trending: 15+ Tema WordPress untuk... 15 Sumber Backlink Grati... Jual Tema WordPress Prem... Panduan Lengkap Cara Men... 5 Tema WordPress Terbaik... ALL ABOUT All About WORDPRESS Tutorial DESIGN All About THEMES Download LINUX Tutorial FOREX Forex DEALS Must See HOW TO START A BLOG? Panduan Membuat Blog Hanya 30 Menit Home  »  CMS  »  Panduan Cara Install WordPress di PC Localhost [Offline] PANDUAN CARA INSTALL WORDPRESS DI PC LOCALHOST [OFFLINE] Centerklik  |  CMS ,  WordPress Panduan Cara Install WordPress di PC Localhost [Offline]  – Jika Anda ingin memiliki blog gratis bisa membuat blog pada layanan gratis seperti blogger atau  membuat blog di WordPress.com . Keduanya memang gratis baik dari penggunaan domain maupun hosting, tapi tentunya sesuatu yang gratis tidak akan pernah di beri akses penuh dan masih banyak batasan, Dengan...