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

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.

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 - 2026 Inwepo - All Rights Reserved.

To Top