69 lines
2.6 KiB
PHP
Executable File
69 lines
2.6 KiB
PHP
Executable File
<?php
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
|
|
class Login extends CI_Controller {
|
|
|
|
public function index()
|
|
{
|
|
// Mencegah caching pada halaman login
|
|
$this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
|
|
$this->output->set_header('Cache-Control: post-check=0, pre-check=0', false);
|
|
$this->output->set_header('Pragma: no-cache');
|
|
|
|
// Cek apakah pengguna sudah login
|
|
if ($this->session->userdata('status') == "telah_login") {
|
|
redirect(site_url('dashboard'));
|
|
}
|
|
|
|
$this->load->view('v_login');
|
|
}
|
|
|
|
public function aksi()
|
|
{
|
|
$this->form_validation->set_rules('username', 'Username', 'required');
|
|
$this->form_validation->set_rules('password', 'Password', 'required');
|
|
|
|
if ($this->form_validation->run() != false) {
|
|
// Menangkap data username dan password dari halaman login
|
|
$username = $this->input->post('username');
|
|
$password = $this->input->post('password');
|
|
|
|
// Hash password menggunakan md5
|
|
$hashed_password = md5($password);
|
|
|
|
$where = array(
|
|
'pengguna_username' => $username,
|
|
'pengguna_password' => $hashed_password,
|
|
'pengguna_status' => 1
|
|
);
|
|
|
|
$this->load->model('M_data');
|
|
|
|
// Cek kesesuaian login pada tabel pengguna
|
|
$cek = $this->M_data->cek_login('pengguna', $where)->num_rows();
|
|
|
|
// Cek jika login benar
|
|
if ($cek > 0) {
|
|
// Ambil data pengguna yang melakukan login
|
|
$data = $this->M_data->cek_login('pengguna', $where)->row();
|
|
|
|
// Buat session untuk pengguna yang berhasil login
|
|
$data_session = array(
|
|
'id' => $data->pengguna_id,
|
|
'username' => $data->pengguna_username,
|
|
'level' => $data->pengguna_level,
|
|
'sampul' => $data->pengguna_sampul, // Menyimpan nama file gambar pengguna
|
|
'status' => 'telah_login'
|
|
);
|
|
$this->session->set_userdata($data_session);
|
|
|
|
// Alihkan halaman ke halaman dashboard pengguna
|
|
redirect(base_url() . 'dashboard');
|
|
} else {
|
|
redirect(base_url() . 'login?alert=gagal');
|
|
}
|
|
} else {
|
|
$this->load->view('v_login');
|
|
}
|
|
}
|
|
} |