Membuat Login Multiuser dengan Codeigniter 3 + Mysql

Dalam membuat aplikasi hal yang wajib ada, adalah sebuah halaman login. Yang biasa diibaratkan sebagai pintu atau jalur masuk untuk mengakses fitur dalam aplikasi yang kita buat. Atau menjadi pemisah antara user dan administrator.


Disini saya anggap teman-teman sudah paham dengan istilah-istilah diatas yah, jika belum silahkan melakukan browsing sebelum melanjutkan membaca artikel ini. 

Langkah pertama: 
Silahkan teman-teman buat database terlebih dahulu, bebas mau diberi nama apa. disini kebetulan saya tarik website dari hostingan jadi nama database saya u6820955_absensi dan untuk tabelnya saya beri nama absensi. Lihat gambar dibawah:


Langkah Kedua:
Lakukan pengaturan di folder config/database.php di framework CI, seperti dibawah 


$db['default'] = array(

 'dsn' => '',

 'hostname' => 'localhost',

 'username' => 'root',

 'password' => '',

 'database' => 'u6820955_absensi',

 'dbdriver' => 'mysqli',

 'dbprefix' => '',

 'pconnect' => FALSE,

 'db_debug' => (ENVIRONMENT !== 'production'),

 'cache_on' => FALSE,

 'cachedir' => '',

 'char_set' => 'utf8',

 'dbcollat' => 'utf8_general_ci',

 'swap_pre' => '',

 'encrypt' => FALSE,

 'compress' => FALSE,

 'stricton' => FALSE,

 'failover' => array(),

 'save_queries' => TRUE

);

Langkah ketiga:
Silahkan teman teman buat tampilan atau view sesuka hati kalian. yang pasti memiliki tombol atau button untuk proses loginnya. didalam button login tambahkan coding seperti berikut:


 <form role="form" action="<?=base_url('Login/do_login'); ?>" method="post" class="login-form">

Dan selanjutnya silahkan buat controller login untuk memproses perintah yang dikirim dari button. Berikut listing codenya;


<?php  
defined('BASEPATH') OR exit('No direct script access allowed');

class Login extends CI_Controller
{
 function __construct()
 {
  parent:: __construct();
  $this->load->model('M_login');
 }

 function index()
 {
  $session = $this->session->userdata('isLogin');
  if ($session == FALSE) {
   $this->load->view('login_form');
  } else {
   echo '<script>window.location="http://localhost/absensi/dashboard"</script>';
  }
 }

 function do_login()
 {
  $username = $this->input->post('uname');
  $password = $this->input->post('pass');

  $cek = $this->M_login->cek_user($username,md5($password));
  if (count($cek)==1) {
   foreach ($cek as $cek) {
    $level = $cek['level'];
    $status = $cek['blokir'];
    $nama_lengkap = $cek['nama_lengkap'];
    $toko = $cek['kode_toko'];
   }
   if ($status == 'N') {
    $this->session->set_userdata(
     array(
      'isLogin' => TRUE,
      'uname' => $username,
      'lvl' => $level,
      'blokir' => $status,
      'nama_lengkap' => $nama_lengkap,
      'kode_toko' => $toko
      ));
    $cek_absen = $this->M_login->cek_absen();
    if (count($cek_absen) < 1) {
     $this->M_login->input_absen_sementara();
     $this->M_login->update_status();
     $this->M_login->update_tanggal();
     $this->M_login->hapus_duplikat();
    } 
    echo '<script>window.location="http://localhost/absensi/dashboard"</script>';
   } else 
   {
    echo "<script>alert('Akun anda di blokir..!!')</script>";
    echo '<script>window.location="http://localhost/absensi/dashboard/login"</script>';
   }
  } else {
    echo "<script>alert('Username dan password tidak valid..!!')</script>";
    echo '<script>window.location="http://localhost/absensi/login"</script>';
  }
 }
}

Dan langkah terakhir silahkan buat model, untuk menghubungkan koneksi dari database. disini saya beri nama m_login.php


<?php 
defined('BASEPATH') OR exit('No direct script access allowed');

class M_login extends CI_Model
{
 
 function __construct()
 {
  $this->tbl ="tb_user";
 }

 function cek_user($username="",$password="")
 {
  $query = $this->db->get_where($this->tbl, array('username' => $username, 'password' => $password));
  $query = $query->result_array();
  return $query;
 }

 function ambil_user($nama_lengkap)
 {
  $query = $this->db->get_where($this->tbl, array('nama_lengkap' => $nama_lengkap));
  $query = $query->result_array();
  if ($query) {
   return $query[0];
  }
 }
}


Nah, jika sudah silahkan di run.

Jika ada kendala, silahkan tanyakan dikolom komentar atau lihat langsung di video berikut:

Terima kasih. Sekian.

Subscribe to receive free email updates:

0 Response to "Membuat Login Multiuser dengan Codeigniter 3 + Mysql"

Posting Komentar

komentar anda sangat berharga