Jika Tautan Rusak atau Halaman Error,

Hubungi Halaman "Kontak Admin"

×

Membuat Halaman Login Dengan Codeigniter


// jika password benar dan dia admin
if($isPasswordTrue && $isAdmin){
// login sukses yay!
$this->session->set_userdata([‘user_logged’ => $user]);
$this->_updateLastLogin($user->user_id);
return true;
}
}

// login gagal
return false;
}



public function isNotLogin(){
return $this->session->userdata(‘user_logged’) === null;
}

private function _updateLastLogin($user_id){
$sql = “UPDATE {$this->_table} SET last_login=now() WHERE user_id={$user_id}”;
$this->db->query($sql);
}

}
Jika diamati, ada tiga method yang akan dibuat. Antara lain method doLogin(), isNotLogin(), dan _updateLastLogin(). Berikut penjelasan singkatnya.

Method doLogin()

Method doLogin() dibuat untuk melakukan login.

Method isNotLogin()

Method ini bertujuan untuk mengecek status apakah sudah login atau belum.

Method _updateLastLogin()

Fungsinya untuk melakukan update tanggal dan waktu login terakhir.

Langkah 4 – Membuat Controller Login

Di tahap keempat kita buat controller baru dalam folder controllers/admin/. Kita beri nama Login.php pada controller login baru itu. Caranya, pada folder admin, klik kanan lalu pilih New File dan ketikkan Login.php. Sesudah itu isi file tersebut dengan kode di bawah ini:

<?php

class Login extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->model("user_model");
        $this->load->library('form_validation');
    }

    public function index()
    {
        // jika form login disubmit
        if($this->input->post()){
            if($this->user_model->doLogin()) redirect(site_url('admin'));
        }

        // tampilkan halaman login
        $this->load->view("admin/login_page.php");
    }

    public function logout()
    {
        // hancurkan semua sesi
        $this->session->sess_destroy();
        redirect(site_url('admin/login'));
    }
}

Berikutnya kita perlu mengedit controller yang lain untuk memastikan apakah user sudah login atau belum. Langkahnya buka Controller controller/admin/Overview.php dan controller/admin/Product.php. Kemudian tambahkan kode di bawah ini pada kedua Controller tersebut:

$this->load->model(“user_model”);

if($this->user_model->isNotLogin()) redirect(site_url(‘admin/login’));

Berikut adalah tampilan controller Overview.php setelah ditambah kode:

Sedangkan di bawah ini adalah tampilan kode dari controller Products.php:

Sebagai informasi, kode di atas perlu ditambahkan pada halaman atau controller yang membutuhkan login untuk mengaksesnya.

Langkah 5 – Membuat View Halaman Login

Langkah kelima adalah membuat view untuk halaman login. Caranya buat file baru pada folder application/views/admin/. Misalnya kita beri nama login_page.php. Isi file baru ini dengan kode berikut:

<!DOCTYPE html>
<html lang="en">