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).

Tutorial Membuat Web Pendaftaran Kursus Menggunakan Codeigniter Verifikasi Login User 6 1

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

    Februari 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

      Februari 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

    Desember 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 *

Trending Minggu Ini

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

Inwepo Navigasi

Tentang Kami             Beranda

Hubungi Kami             Panduan Penulis

Kebijakan Privasi

FAQ

Partner

Copyright © 2014 - 2023 Inwepo - All Rights Reserved.

To Top