Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ====MODEL====
- <?php
- defined('BASEPATH') OR exit('No direct script access allowed');
- class User_model extends CI_Model {
- // load database
- public function __construct()
- {
- parent::__construct();
- $this->load->database();
- }
- // Listing
- public function listing()
- {
- $this->db->select('users.*,
- bagian.nama_bagian');
- $this->db->from('users');
- // join
- $this->db->join('bagian', 'bagian.id_bagian = users.id_bagian', 'left');
- // End join
- $this->db->order_by('users.id_user', 'desc');
- $query = $this->db->get();
- return $query->result();
- }
- // Total
- public function total()
- {
- $this->db->select('COUNT(*) AS total');
- $this->db->from('users');
- $query = $this->db->get();
- return $query->row();
- }
- // Login
- public function login($username,$password)
- {
- $this->db->select('users.*,
- bagian.nama_bagian');
- $this->db->from('users');
- // join
- $this->db->join('bagian', 'bagian.id_bagian = users.id_bagian', 'left');
- // End join
- // where
- $this->db->where(array( 'username' => $username,
- 'password' => $password
- ));
- $this->db->order_by('users.id_user', 'desc');
- $query = $this->db->get();
- return $query->row();
- }
- // Detail
- public function detail($id_user)
- {
- $this->db->select('users.*,
- bagian.nama_bagian');
- $this->db->from('users');
- // join
- $this->db->join('bagian', 'bagian.id_bagian = users.id_bagian', 'left');
- // End join
- // where
- $this->db->where('users.id_user', $id_user);
- $this->db->order_by('users.id_user', 'desc');
- $query = $this->db->get();
- return $query->row();
- }
- // Tambah
- public function tambah($data)
- {
- $this->db->insert('users', $data);
- }
- // Edit
- public function edit($data)
- {
- $this->db->where('id_user', $data['id_user']);
- $this->db->update('users', $data);
- }
- // Delete
- public function delete($data)
- {
- $this->db->where('id_user', $data['id_user']);
- $this->db->delete('users', $data);
- }
- }
- /* End of file User_model.php */
- /* Location: ./application/models/User_model.php */
- ====CONTROLLER====
- <?php
- defined('BASEPATH') OR exit('No direct script access allowed');
- class Login extends CI_Controller {
- // load model
- public function __construct()
- {
- parent::__construct();
- $this->load->model('user_model');
- }
- // Login page
- public function index()
- {
- // Validasi input
- $this->form_validation->set_rules('username','Username','required',
- array( 'required' => '%s harus diisi'));
- $this->form_validation->set_rules('password','Password','required',
- array( 'required' => '%s harus diisi'));
- if($this->form_validation->run()) {
- $username = strip_tags($this->input->post('username'));
- $password = strip_tags(password_hash($this->input->post('password'), PASSWORD_BCRYPT));
- // Proses ke simple login
- $this->simple_login->login($username,$password);
- }
- // End validasi
- $data = array( 'title' => 'Halaman Login');
- $this->load->view('login/list', $data, FALSE);
- }
- // Logout
- public function logout()
- {
- // Panggil library logout
- $this->simple_login->logout();
- }
- }
- /* End of file Login.php */
- /* Location: ./application/controllers/Login.php */
- ====LIBRARY SIMPLE_LOGIN====
- <?php
- defined('BASEPATH') OR exit('No direct script access allowed');
- class Simple_login
- {
- protected $CI;
- public function __construct()
- {
- $this->CI =& get_instance();
- // load user model
- $this->CI->load->model('user_model');
- }
- // Fungsi login
- public function login($username,$password)
- {
- // Check user yang login
- $user_login = $this->CI->user_model->login($username,$password);
- // Kalau ada, maka masuk ke halaman dashboard
- if($user_login) {
- $id_user = $user_login->id_user;
- $id_bagian = $user_login->id_bagian;
- $nama_bagian = $user_login->nama_bagian;
- $username = $username;
- $nama = $user_login->nama;
- $akses_level = $user_login->akses_level;
- // Create session utk login
- $this->CI->session->set_userdata('id_user',$id_user);
- $this->CI->session->set_userdata('id_bagian',$id_bagian);
- $this->CI->session->set_userdata('nama_bagian',$nama_bagian);
- $this->CI->session->set_userdata('username',$username);
- $this->CI->session->set_userdata('nama',$nama);
- $this->CI->session->set_userdata('akses_level',$akses_level);
- // Lalu redirect masuk ke halaman dashboard
- $this->CI->session->set_flashdata('sukses', 'Anda berhasil login');
- // Periksa user mengakses halaman mana sebelumnya
- if($this->CI->session->userdata('pengalihan')) {
- // Jika, ada alihkan
- $pengalihan = $this->CI->session->userdata('pengalihan');
- redirect($pengalihan,'refresh');
- }else{
- // Jika ga ada, default masuk ke halaman dasbor
- redirect(base_url('admin/dasbor'),'refresh');
- }
- }else{
- // Kalau ga ada user yg cocok, suruh login lagi
- $this->CI->session->set_flashdata('warning', 'Username/password salah');
- redirect(base_url('login'),'refresh');
- }
- }
- // Fungsi logout
- public function logout()
- {
- // Meng-unset semua session
- $this->CI->session->unset_userdata('id_user');
- $this->CI->session->unset_userdata('id_bagian');
- $this->CI->session->unset_userdata('nama_bagian');
- $this->CI->session->unset_userdata('username');
- $this->CI->session->unset_userdata('nama');
- $this->CI->session->unset_userdata('akses_level');
- $this->CI->session->unset_userdata('pengalihan');
- // Redirect ke halaman login
- $this->CI->session->set_flashdata('sukses', 'Anda berhasil logout');
- redirect(base_url('login'),'refresh');
- }
- // Fungsi check login: seseorang sudah login atau belum
- public function check_login($pengalihan)
- {
- // Check status login (kita ambil status username dan akses level)
- if($this->CI->session->userdata('username') == "" &&
- $this->CI->session->userdata('akses_level') == "")
- {
- $this->CI->session->set_flashdata('warning', 'Anda belum login');
- redirect(base_url('login'),'refresh');
- }
- }
- // Fungsi check login: seseorang sudah login atau belum
- public function cek_login($pengalihan)
- {
- // Check status login (kita ambil status username dan akses level)
- if($this->CI->session->userdata('username') == "" &&
- $this->CI->session->userdata('akses_level') == "")
- {
- $this->CI->session->set_flashdata('warning', 'Anda belum login');
- redirect(base_url('login'),'refresh');
- }
- }
- }
- /* End of file Simple_login.php */
- /* Location: ./application/libraries/Simple_login.php */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement