2025-04-27 07:06:24 +07:00

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');
}
}
}