Halo sahabat harviacode, apa kabar? semoga sehat selalu. Banyak permintaan yang saya terima untuk membuat tutorial login dengan fitur remember me pada codeigniter. Berhubung lagi sempat, berikut ini saya buatkan tutorialnya.


login remember me

Sebelum membuat login remember me, kita perlu memahami yang namanya cookies. apa itu cookies? cookies adalah kue cookie. hahaha.. cookies yaitu data yang disimpan di browser. cookies bisa digunakan untuk menyimpan data login pengguna atau kebiasaan pengguna. sebagai contoh jika kita login facebook dan kita centang remember me, maka kita akan selalu login jika tidak melakukan logout, meskipun browser ditutup atau bahkan komputer dimatikan. Contoh lain cookie yaitu kita biasa browsing komputer di situs ecommerce, maka situs tersebut akan menampilkan lebih banyak komputer, karena kebiasaan kita mencari komputer.

Membuat login remember me codeigniter

Proses login remember me sebenarnya cukup sederhana, pada prinsipnya jika user mencentang checkbox remember me, maka akan dibuatkan cookies yang disimpan di browser dan di database user tersebut. Ketika user membuka kembali website, maka akan dicek terlebih dahulu apakah dibrowsernya memiliki cookie. Jika ada maka akan dicocokkan dengan cookie yang ada di database, jika sesuai, maka user tersebut diarahkan ke halaman home.

Baik. biar tidak penasaran kita langsung membuatnya.

A. Membuat Database dan Konfigurasi Codeigniter

1. Buat database user. Di tabel user kita memiliki field cookie untuk menyimpan kode cookie.

2. Sesuaikan file application/config/autoload.php

3. Sesuaikan file application/config/config.php

4. Sesuaikan file application/config/database.php sesuai konfigurasi anda

B. Membuat Controller, Model dan View Auth

1. Controller Auth.php.

Disini kita memiliki 4 method yaitu

  • index(). disini di cek apakah user memiliki session, jika ya kembalikan ke home. di cek apakah user memiliki cookie, jika ya cocokan dengan database, jika sesuai arahkan ke home. Jika tidak memiliki cookie dan session, tampilkan halam login
  • login(). disini menghandle saat form login disubmit. akan dilakukan pemeriksaan username dan password. Jika remember di chek, maka akan dibuatkan cookie.
  • _daftarkan_session(). method ini berfungsi untuk mendaftarkan session dan redirect ke halaman home
  • logout(). method ini akan menghapus session dan cookie, lalu redirect ke auth.

Inti dari login remember me sebenarnya ada pada bagian set_cookie dan get_cookie. yaitu saat login diberikan cookie, lalu saat buka halaman dicek kembali cookie tersebut.

2. Model Auth_model.php

Disini ada 3 method yaitu :

  • login(). untuk mengecek username dan password
  • update(). untuk mengupdate data user
  • get_by_cookie(). ambil data berdasarkan cookie

3. View

login.php

Tidak ada yang spesial disini, hanya form biasa yang menggunakan bootstrap. Anda perlu mendownload bootstrapnya terlebih dahulu ya. atau anda bisa mendownloadnya di link download di artikel ini.

C. Membuat Controller dan View Home

1. Controller Home.php

Pada controller Home, kita mengecek session user, jika kosong kembalikan ke halaman auth.

2. View home.php

Tidak ada yang spesial disini, hanya menampilkan username user yang login dan link logout.

Sudah selesai, sekarang jalankan melalui browser dan cobalah melakukan login dengan username hari dan password 1234. JANGAN LUPA centang checkbox remember me nya. Maka Anda akan berhasil login. Cobalah untuk menutup broser atau merestart komputer Anda dan coba kembali akses auth, maka secara otomatis Anda akan diarahkan ke halaman home tanpa perlu login lagi.

Cara melihat cookie pada browser

Untuk melihat Cookie pada browser Firefox, klik kanan pada halaman website, lalu pilih “View Page Info”. Klik tab “Security”. Lalu klik “View Cookies”. Cari nama cookie Anda, dalam conth tadi ‘harviacode’. Maka akan muncul tampilan sbb

cara melihat cookiesPerhatikan cookie tersebut memiliki expired. Jika sudah melewati expired, cookie tersebut akan hilang. Expired kita tentukan saat set_cookie.

Demikianlah cara membuat login remember me codeigniter. Jika ada pertanyaan silahkan tuliskan di kolom komentar. Semoga bermanfaat.