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:
- Tutorial Membuat Web Pendaftaran Kursus Menggunakan Codeigniter: Menu Workshop [Bagian 3]
- Tutorial Membuat Web Pendaftaran Kursus Menggunakan Codeigniter: Table dan Database [Bagian 4]
- Membuat Website Kursus Menggunakan Codeigniter: Dashboard User [Bagian 5]
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.
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?
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?