Membuat sistem login adalah fondasi penting bagi banyak aplikasi web. Tutorial ini akan memandu Anda langkah demi langkah dalam membuat sistem login sederhana menggunakan framework CodeIgniter 3. Kita akan menggunakan database untuk menyimpan informasi user dan session untuk mempertahankan status login.
Persiapan Awal
Pastikan Anda sudah memiliki hal-hal berikut:
- Proyek CodeIgniter: Proyek CodeIgniter Anda sudah terinstal dan berjalan dengan baik.
- Koneksi Database: Konfigurasi database di
application/config/database.phpsudah benar. - Tabel Users: Buatlah sebuah tabel bernama
usersdi database Anda dengan struktur minimal sebagai berikut:“`sql
CREATE TABLE users (
id int(11) NOT NULL AUTO_INCREMENT,
username varchar(50) NOT NULL UNIQUE,
password varchar(255) NOT NULL,
nama varchar(100) DEFAULT NULL,
email varchar(100) DEFAULT NULL UNIQUE,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
“`
Jangan lupa untuk menambahkan setidaknya satu user ke dalam tabel
usersAnda untuk pengujian. Enkripsi password menggunakan fungsipassword_hash()di PHP saat memasukkan data secara manual.
Langkah 1: Membuat Model User
Kita akan membuat model untuk berinteraksi dengan tabel users. Buat file M_auth.php di dalam folder application/models.
application/models/M_auth.php
“`php
<?php
defined(‘BASEPATH’) OR exit(‘No direct script access allowed’);
class M_auth extends CI_Model {
public function login($username, $password)
{
$this-\>db-\>where('username', $username);
$query = $this-\>db-\>get('users');
if ($query-\>num\_rows() == 1) {
$user = $query-\>row();