Tutorial Membuat Web Pendaftaran Kursus Menggunakan Codeigniter: Verifikasi Login User [Bagian 6]

Penulisan kali ini akan membahas proses pembuatan login untuk user (pendaftar kursus). Nantinya, user akan meng-input username dan password untuk bisa masuk ke dashboard user. 

Di artikel sebelumnya, penulis telah membuat database bernama inwepo dengan nama table tb_pengguna yang nantinya akan digunakan untuk melakukan verifikasi login.

Baca juga:

PEMBUATAN VERIFIKASI LOGIN USER

1. Membuat folder bernama user di dalam controllers.

2. Selanjutnya membuat file Login.php di dalam folder C:\xampp\htdocs\inwepo\application\controllers\user.

<?php 
    class login extends CI_Controller{
        public function __construct(){
            parent::__construct();
            $this->load->model('m_login');
            $this->load->library(array('form_validation','session'));
            $this->load->database();
            $this->load->helper('url');
        }
        public function index(){
            $session = $this->session->userdata('Login');
            if($session !='berhasil'){
                $this->load->view('header');
                $this->load->view('home');
                $this->load->view('footer');
            }else{
                redirect('user/welcome');
            }
        }
        public function login_form(){
            if ($this->session->userdata('Login')== 'berhasil') {
                redirect('user/welcome');
            }
            $this->form_validation->set_rules('username', 'Username', 'required|trim');
            $this->form_validation->set_rules('npm', 'NPM', 'required|trim');
            $this->form_validation->set_error_delimiters('<span class="error">', '</span>');
            if($this->form_validation->run()==FALSE){
                $this->load->view('header');
                $this->load->view('home');
                $this->load->view('footer');
            }else{
                $username = $this->input->post('username');
                $npm = $this->input->post('npm');
                $cek= $this->m_login->getPengguna($username, $npm,1);

                if($cek->num_rows() == 1) {

                    foreach ($cek->result() as $c) {
                            $data_user['Login']       = 'berhasil';
                            $data_user['username']    = $c->username;
                            $data_user['id_user']     = $c->id_user;
                            $data_user['nama']        = $c->nama;
                            $data_user['kelas']       = $c->kelas;
                            $data_user['level']       = $c->level;
                            
                        }
                        if($data_user['level']==1){
                            $this->session->set_userdata($data_user);
                            redirect('user/welcome');
                        } else { 
                         echo " <script>
                                    alert('Gagal Login: Cek username dan password anda!');
                                    history.go(-1);
                                </script>";     
                        }
                }else{
                    echo " <script>
                            alert('Gagal Login: Cek username dan password anda!');
                            history.go(-1);
                        </script>";
                }
            }
        }
    }
?>

3. Membuat file bernama M_login.php di dalam folder models.

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class m_login extends CI_Model{
    public $table = 'tb_pengguna'; 
    function cek_user($username,$npm)
    {
        $query = $this->db->get_where($this->tbl,array('username' => $username, 'npm' => $npm));
        $query = $query->result_array();
        return $query;
    }
    function ambil_user($username)
        {
        $query = $this->db->get_where($this->tbl, array('username' => $username));
        $query = $query->result_array();
        if($query){
            return $query[0];
        }
    }
    function ambil($id){
        return $this->db->get_where('tb_pengguna', array('id_user'=>$id));
    }   

        public function getPengguna($username, $npm){
            $this->db->select('*');
            $this->db->from('tb_pengguna');
            $this->db->where('username', $username);
            $this->db->where('npm', $npm);
            $query = $this->db->get();
            return $query;
        }

        public function data($username){
            $this->db->select('*');
            $this->db->where('username', $username);
            $query = $this->db->get('tb_pengguna');
            return $query->row();
        }
        
        function updateProfile($data,$id_user){
            
            $this->db->where('id_user',$id_user);
            $this->db->update('user',$data);
        }
}

4. Jangan lupa untuk memanggil model M_login di dalam controller Welcome.php yang terdapat di C:\xampp\htdocs\inwepo\application\controllers\user. Berikut ini perintahnya:

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

class Welcome extends CI_Controller {
  public function __construct() 
  {
	parent::__construct();
	$this->load->model(array('m_login'));
  	$this->load->database();
  }
}

Nah sekarang coba buka URL http://localhost/inwepo/ lalu klik menu Login. Kemudian input username: yunan.helmi.al.anbarry (sesuai dengan record di dalam table tb_pengguna). Untuk password disini penulis menggunakan NPM (59413587).

Cara Pembuatan Website Pendaftaran Kursus Login - Dashboard

Di artikel sebelumnya penulis sudah menjelaskan tentang pembagian session untuk Login yaitu berdasarkan Level. Jadi jika level bernilai 1 maka adalah user, sedangkan jika bernilai 2 maka itu adalah session untuk admin.

Ok, nantikan artikel selanjutnya untuk membahas function session agar bisa memunculkan usernme supaya data yang masuk hanya khusus untuk pengguna tersebut.

4 Comments

4 Comments

  1. Thia

    February 22, 2018 at 20:47

    mau tanya kok pas coba login udh bener masukin user sama pass nya kok abis itu malah ngereload ke halaman home nya ya?  Gak masuk ke dashboard user

    • Fadli

      February 27, 2018 at 09:36

      Masuk ke inwepo.co/submit

      • ikhwa

        November 15, 2019 at 09:42

        submitnya di file apa ya?

  2. arya yuda

    December 19, 2019 at 08:58

    udah diisi username sama password terus di klik login malah ke home lagi dan di tampilan login terdapat ” The NPM field is required ” kenapa ya?

     

Leave a Reply

Your email address will not be published. Required fields are marked *

Inwepo adalah media platform yang membantu setiap orang untuk belajar dan berbagi tutorial, tips dan trik cara penyelesaian suatu masalah di kehidupan sehari-hari dalam bentuk teks, gambar. dan video.

Dengan bergabung bersama kami dan membuat 1 tutorial terbaik yang kamu miliki dapat membantu jutaan orang di Indonesia untuk mendapatkan solusinya. Ayo berbagi tutorial terbaikmu.

Ikuti Kami di Sosmed

Copyright © 2020 Inwepo - All Rights Reserved.

To Top