Kamis, 28 Januari 2021

Tutorial Codeigniter #7: Membuat Fitur Login untuk Admin

Tutorial Codeigniter #7: Membuat Fitur Login untuk Admin


Rencananya:

Pada aplikasi yang kita buat ini, akan ada dua jenis user yang bisa login, yakni admin dan customer.

Kita juga nanti akan membuat halaman khusus untuk customer.

Tapi…

Untuk saat ini, kita fokus dulu mengerjakan halaman admin.

Karena adminlah yang akan berperan pertama kali untuk menginput data produk dan data lainnya.

Baiklah, kita langsung saja masuk ke tutorial.

Jadi, berikut ini langkah-langkah yang harus kita kerjakan untuk membuat fitur login:


TODO:
◻️ Membuat tabel users;
◻️ Membuat model User_model;
◻️ Membuat Controller Login;
◻️ Membuat halaman view untuk Login;
◻️ Uji Coba Login.

1. Membuat tabel untuk user 

Pertama kita membutuhkan sebuah tabel untuk menyimpan data user.

Silahkan buka Phpmyadmin, kemudian buatlah tabel bernama users dengan 11 kolom.


Kemudian, buat skema tabelnya seperti ini:


Kalau mau cepat.. kamu bisa juga buat tabel users dengan printah SQL ini:


CREATE TABLE `users` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(64) NOT NULL,
`password` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`full_name` varchar(255) NOT NULL,
`phone` varchar(20) NOT NULL,
`role` enum('admin','customer') NOT NULL DEFAULT 'customer',
`last_login` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`photo` varchar(64) NOT NULL DEFAULT 'user_no_image.jpg',
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`is_active` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`user_id`) );

Jika kamu sudah membuat tabel, sekarang coba perhatikan kolom-kolomnya.

Sebenarnya, kita hanya butuh tiga kolom untuk membuat login user_idusername, dan password.

Tapi karena tabel users akan kita gunakan untuk menampung data lengkap dari user, kita membutuhkan beberapa kolom lagi, yakni:

  • email untuk menyimpan email user, agar bisa kita hubungi apabila ia meminta untuk reset password
  • full_name untuk nama lengkap user;
  • phone untuk nomer telepon, yang bisa kita manfaatkan juga untuk SMS OTP atau 2FA;
  • role untuk membedakan user admin dan customer;
  • last_login untuk mencatat kapan terakhir user login;
  • photo untuk menyimpan foto dari user;
  • created_at untuk mencatat kapan user tersebut dibuat;
  • is_active untuk menyatakan user tersebut aktif atau tidak (sudah verifikasi email atau belum).

Kalau mau ditambahkan kolom lain juga boleh kok…

Tapi khusus untuk tutorial ini, kita pakai kolom ini aja ya.

Sebelum kita lanjut ke langkah berikutnya, kita butuh satu hal lagi nih di database.

Apa itu?

Sebuah user baru.

Kita anggap saja ini adalah user pertama yang akan kita pakai untuk uji coba aplikasi.

Cara buatnya gimana?

Cara buatnya, tinggal insert data ke tabel users.

Gampang kan?

Mari kita buat.

Masuk ke menu Insert, kemudian isi data user seperti ini:


Nah untuk password, silahkan isi dengan hash yang dibuat dengan fungsi password_hash().

Kamu bisa buat melalui php interaktif seperti ini.


Atau kalau tidak mau repot, kamu bisa gunakan beberapa hash berikut:

Password Hash (Bcrypt)
123 $2y$10$Dy4ySqOiDqKisEyoKJEsl.L2psUIjeKMwmp5W3iElRQLKZF0.kKbS
admin $2y$10$tonZkQrnGnp9n38rWeMTieLPNxtDfvy4Z/35Q4rlFObsm/xFnSae.

Kalau sudah, kita akan memiliki user pertama dengan user_id adalah 1.


Mengapa sih password harus disimpan dalam bentuk hash?

Ini untuk keamanan, jika suatu saat ada orang yang berhasil membobol aplikasimu. Maka Si pembobol nggak akan tahu password-nya.

Oke dengan begini, tugas pertama kita selesai.


TODO:
✅ Membuat tabel users;
◻️ Membuat model User_model;
◻️ Membuat Controller Login;
◻️ Membuat halaman view untuk Login;
◻️ Uji Coba Login.
















Share This :
SUBSCRIBE TO OUR NEWSLETTER

Add Your Comments

bold <b>b</b>
italic <i>i</i>
underline <u>u</u>
HTML<code></code> use Parser

Emoticon
Parser
😊
πŸ˜‰
πŸ˜€
😁
😎
😍
😜
πŸ˜‘
πŸ˜‡
πŸ’–
😯
😱
😭
πŸ‘
🍻