Anda di halaman 1dari 7

Latihan Login

=====================
A. Persiapan Folder Project
1. Jalankan visual studio code
2. Tutup semua project -> File -> close Folder
3. buat project latihan login dengan AppLogin
a. jalankan terminal
b. Ketik perintah berikut

composer create-project codeigniter4/appstarter AppLogin --no-dev

4. Open Folder Project


5. Setting environment file
a. klik kanan file env --> pilih rename
b. tambahkan tanda titik depan env menjadi .env
c. double klik file .env (edit)\
d. ubah bagian

# CI_ENVIRONMENT = production

menjadi

CI_ENVIRONMENT = development

e. Ubah bagian
# database.default.hostname = localhost
# database.default.database = ci4
# database.default.username = root
# database.default.password = root
# database.default.DBDriver = MySQLi

menjadi

database.default.hostname = localhost
database.default.database = db_appLogin
database.default.username = root
database.default.password =
database.default.DBDriver = MySQLi

f. Simpan file .env dan close

B. Pembuatan Database dan Table


1. Jalankan Xampp , start apache dan mysql
2. Buat database db_appLogin
3. buat tabel dengan tblUser

Field Type(size)
-----------------------------
username varchar(30) PK
password char(32) md5
namauser varchar(20)
leveluser admin, petugas

C. Menjalankan Project
1. Buka visual studio code
2. Jika project belum dibuka maka buka project dengan open Folder
3. Jalankan terminal

php spark serve <---- jalan di 8080

4. Jalankan browser , arahkan URL ke url CI

D. Membuat Route
1. Buka file Routes.php di folder app\Config
2. Buat route berikut :

$routes->get('/login','Admin::index');

// dijalankan saat menekan tombol login


$routes->post('/login','Admin::login');

3. Simpan

E. Membuat Controller Admin


1. Buat terminal baru pada VS code : Pilih file Terminal -> New
Terminal
2. ketik perintah

php spark make:controller Admin (tekan enter)

3. Perintah diatas akan membuat sebuah file controller dengan nama


Admin.php yang tersimpan di folder app\Controller

F. Mengedit Controller Admin untuk menambahkan metode index dan login


1. Buka file Admin.php yang tersimpan di folder app\Controller
2. Edit method index()

public function index(){

ubah menjadi :

public function index(){


return view('admin/form_login');
}

3. Buat method login()

public function login()


{

G. Membuat model Madmin


1. Buat terminal baru
2. Buat model

php spark make:model Madmin

3. Maka akan terbentuk file model yaitu Madmin.php yang terletak


di app\Models
4. Edit file tersebut dengan cara double klik
5. Ubah bagian berikut :

protected $table = 'madmins';


protected $primaryKey = 'id';
protected $useAutoIncrement = true;
protected $allowedFields = [];

menjadi :

protected $table = 'tbluser'; // table di mysql


protected $primaryKey = 'username';
protected $useAutoIncrement = false;
protected $allowedFields = ['username','password',
'namauser',leveluser];

H. Mengedit BaseController
1. Double Klik file BaseController.php
2. Daftarkan / register model dengan cara tambahkan baris berikut

use App\Models\Madmin;

setelah clause Use terakhir

3. Buat properti untuk model di dalam class BaseController


dengan encapsulation protected dengan nama $admin

protected $admin;

4. Buat instace dari Madmin pada method initController

$this->admin = NEW Madmin;

I. Mengedit Method Login di Controller Admin


1. Buka file Controller Admin.php di folder App\Controller
2. Edit method login
3. Tambahkan script berikut :

public function login()


{
$usernya = $this->request->getPost('txtUser');
$passwordnya = md5($this->request->getPost('txtPass'));

$syarat=[
'username'=>$usernya,
'password'=>$passwordnya
];

$queryUser = $this->admin->where($syarat)->find();

if(count($queryUser)==1){
// jika sukses login arahkan ke dashboar
return redirect()->to(site_url('/dashboard'));
} else {
//mengembalikan ke halamana login
return
redirect()->to(site_url('/login'))->with('info','Gagal Login');
}
}

J. Membuat routes Dashboard


1. Edit file Rotues.php di app\Config
2. tambahkan route berikut

// membuat route untuk user yang sukes login


$routes->get('/dashboard','Dashboardpengguna::index');

3. Simpan

K. Membuat Controller Dashboardpengguna


1. Buka terminal baru
2. ketik perintah berikut :

php spark make:controller Dashboardpengguna

L. Mengedit method index di Dashboardpengguna


1. Buka file Dashboardpengguna.php di folder app\Controllers
2. Edit methode index() menjadi seperti berikut :

public function index(){


echo ‘Selamat Datang’;
}

3. Simpan

L. Membuat filter Otentifikasi


Salah satu kegunaannya adalah untuk mengecek apakah user sudah
login atau belum, berikut cara membuat
1. Buat terminal baru
2. Ketik perintah

php spark make:filter Otentifikasi

3. Maka akan terbentuk file Otentifikasi.php di folder filter


4. Edit file Otentifikasi.php tersebut
5. Tambahkaan baris berikut pada method before

if(!session()->get('sudahkahLogin')){
return redirect()->to(site_url('login'))->with('info','Anda
belum login');
}

M. Meregister Filter Otentifikasi


1. Buka file Filter.php di folder app\Config
2. Tambahkan baris berikut setelag clausa use terakhr

use App\Filters\Otentifikasi;

3. Ubah baris berikut

public $aliases = [
'csrf' => CSRF::class,
'toolbar' => DebugToolbar::class,
'honeypot' => Honeypot::class,
'invalidchars' => InvalidChars::class,
'secureheaders' => SecureHeaders::class,
];

Menjadi

public $aliases = [
'csrf' => CSRF::class,
'toolbar' => DebugToolbar::class,
'honeypot' => Honeypot::class,
'invalidchars' => InvalidChars::class,
'secureheaders' => SecureHeaders::class,
// tambahkan alias baru
'otentifikasi' => Otentifikasi::class
];

N. Edit semua route yang harus login


1. Periksa kembali semua route yang harus diakses melalui login
kemudian lakukan perubahan
2. Sebagai contoh route /dashboard harus diakses dengan cara login
terlebih dahulu maka rubahlah route /dashboard yang semula
seperti berikut :

Menjadi
// membuat route untuk user yang sukes login
$routes->get('/dashboard','Dashboardpengguna::index',['filter'=>'
otentifikasi']);

3. Simpan

O. Testing Login
1. Setelah selesai membuat filter dan merubah route /dashboard
lakukan testing sebagai berikut :
2. Akses route /dashboard pada browser tanpa melalui login jika
tampil halaman dashboard berarti proses pembuatan filter gagal
namun jika dialihkan ke halaman login berarti proses membuat
filter untuk login berhasil

Anda mungkin juga menyukai