Cara menggunakan inurl admin/index php username=admin&password=password

#CodeIgniter #Framework #PHP

Tutorial ini merupakan lanjutan dari tutorial sebelumnya:

  • Tutorial Codeigniter #07: Membuat Halaman Admin
  • Tutorial Codeigniter #08: Validasi Data

Pada tutorial ini, kita akan membuat fitur login untuk admin dengan library session bawaan dari Codeigniter.

Mari kita mulai..

Apa itu Session?

Dalam ilmu komputer atau jaringan komptuer, Session atau sesi merupakan informasi sementara yang disimpan saat dua buah pernagkat atau komputer saat saling berkomunikasi atau bertukar data. 1

Ingat kata kucinya: Informasi sementara

Jadi, ketika kita membuka website.. di sana bisa kita katakan sedang memulai sebuah sesi baru.

Lalu ketika kita menutup website, berarti sesi kita akhiri.

Data sementara yang disimpan di dalam session, bisa kita pakai untuk authentication atau login.

Data session bisa kita simpan di dalam client dan juga server.

Data session yang disimpan di dalam client, akan hilang saat browser atau tab ditutup. Sedangkan session yang disimpan di dalam server akan hilang saat server malakukan restart atau dihapus manual.

Nah, pada tutorial ini.. kita akan membuat login dengan menyimpan session di dalam server.

Mengenal Library Session

Sebenarnya PHP sendiri sudah menyediakan fitur session yang bisa diakses dari variabel global $_SESSION.

Namun, jika kita menggunakan session bawaan PHP, kita harus memanggil fungsi session_start[] di awal eksekusi.

Nah, pada Codeigniter.. kita tidak perlu memanggil fungsi session_start[].

Kita cukup pakai library session yang sudah disediakan oleh Codeigniter.

Cara Load Library Session

Silahkan buka file config/autoload.php kemudian, pada bagian libraries.. tambahkan session seperti ini:

$autoload['libraries'] = array['database', 'session'];

Maka library session sudah diload otomatis dan akan bisa kita gunakan dari aplikasi Codeigniter.

Cara Menggunakan Library Session

Kita bisa menggunakan library session dengan method seperti ini:

$this->session->nama_method_session[];

Ada beberapa method yang akan sering kita gunakan pada library session.

// flash data untuk data sementara
$this->session->set_flashdata['key'];
$this->session->flash_data['key'];

// user data untuk authenikasi
$this->session->set_userdata['key'];
$this->session->userdata['key'];
$this->session->has_userdata['key'];

// menghapus session
$this->session->unset_userdata['key'];
// hapus semua session
$this->session->sess_destory[];

Parameter key kita perlukan untuk membuat dan mengakses isi session.

Penjelasan lebih detail tentang library ini, bisa juga kamu baca di dokumentasi library session.

Oke sekarang..

Biar lebih paham, langsung saja kita praktik.

1. Membuat Tabel User

Buatlah tabel baru bernama user dengan struktur seperti ini:

Biar cepat, Kamu bisa gunakan query SQL berikut:

CREATE TABLE `user` [
  `id` varchar[32] NOT NULL,
  `name` varchar[32] NOT NULL,
  `email` varchar[64] NOT NULL,
  `username` varchar[64] NOT NULL,
  `password` varchar[255] NOT NULL,
  `avatar` varchar[32] DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `last_login` timestamp NULL DEFAULT NULL,
  PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

Jalankan kode SQL ini pada database beritacoding di menu SQL.

Setelah itu, tambahkan satu data dengan menjalankan kode SQL berikut.

INSERT INTO `user` [`id`, `name`, `email`, `username`, `password`, `avatar`, `created_at`, `last_login`] VALUES
['6118b2a943acc2.78631959', 'Administrator', '[email protected]', 'admin', '$2y$10$hRi1qju2KOeEPcBZ0wYfhu/PN5e9Wl.ddWeDTds8Uokad764X9D1a', NULL, '2021-08-15 06:22:33', '2021-08-19 15:55:42'];

Maka kita akan punya data baru dengan:

  • email: [email protected]
  • username: admin
  • password: admin

Password kita simpan dalam bentuk hash dengan fungsi password_hash[] dan algoritma PASSWORD_DEFAULT.

2. Membuat Model Auth

Buatlah model baru dengan nama Auth_model.php dengan isi sebagai berikut:





	

	
		Login
		Masuk ke Dashboard

		
			
					
			
		

		
			
				Email/Username*
				

Bài mới nhất

Chủ Đề