Sistem Login Register Part17 – Mengingat Browser Dengan Cookie

Febri Hidayan Komentar

Sistem Login Register Part17 – Mengingat Browser Dengan Cookie

Sebelumnya kita sudah belajar cara membuat sistem logout sebagai salah satu cara mengeluarkan akun. Sekarang telah tiba waktunya untuk mengigat browser dengan Cookie, silakan baca deskripsi lengkap dibawah ini.

Mengigat Browser Dengan Cookie

Pada kesempatan kali ini kita akan mengenal Cookie? Merupakan salah satu anggota dari SuperGlobal sama dengan Session, akan tetapi Cookie menyimpan datanya disisi client tepatnya di browser kita. Akan tetapi sebelumnya kita juga telah menyiapkan kolom token pada table user di database kita, yang kita akan gunakan sebagai metode penggunaan Cookie. Manfaat menggunakan Cookie ialah kita tidak perlu login kembali disaat kita menutup browser kita dan kembali ke halaman member akun kita. Tapi harus ada yang diingat, jangka waktu penyimpanan Cookie tergantung developer yang membuatnya. Mana tahu Cookie akan dihapus setelah 12 jam selama tidak digunakan kembali dan setalah lewat waktu tersebut kita diwajibkan untuk login kembali. Oke! Selanjutnya ikuti langka berikut dibawah ini.

Baca juga: Sistem Login Register Part16 – Membuat Sistem Logout

Pemberitahuan: sebelum melanjutkan tutorial yang satu ini, diharapkan untuk mengikuti tutorial sebelumnya pada link diatas. Bukan hanya itu ikuti paling awal tutorial Sistem Login Register ini.

Langka1

Pada langka pertama kita akan membuat class Cookie terlebih dahulu, karena hal ini merupakan cara agar mempermudah dalam penggunaan Cookie dengan functions. Untuk mempelajari functions pada class Cookie silakan lihat link dibawah ini. Kalau begitu silakan copy kodingnya dan sampan di file Cookie.php di folder vendor > Class.

Kode Class Cookie
<?php
class Cookie
{
  public static function set($name, $value, $time)
  {
    return setcookie($name, $value, time()+$time);
  }

  public static function get($name)
  {
    return $_COOKIE[$name];
  }

  public static function start($name)
  {
    return (isset($_COOKIE[$name])) ? true : false;
  }

  public static function destroy($name, $value, $time)
  {
    return setcookie($name, $value, time()-$time);
  }
}

Info: cara memanggil class Cookie bisa lihat link yang telah diterakan dibawah ini pada bagian part15 dan untuk membuat class Cookie juga bisa langsung dilihat.

Baca juga: Sistem Login Register Part15 – Menyimpan Data Username Dengan Session

Baca juga: Super Global –┬áCara Membuat Class Cookie

Langka2

Sekarang kita akan membuat fungsi baru yaitu select_cookie() dimana digunakan pada saat perintah if atau validasi tertentu. Silakan lihat dibawah ini

Kode Function Select_Cookie()
function select_cookie($table, $column, $id, $key)
{
  $query = runSelect("SELECT $key FROM $table WHERE $column = '$id'");
  $result = fetch_obj($query)->$key;
  return $result;
}

Sedikit penjelasan masing masing parameter pada fungsi menuntujkan cara kita untuk mengenal dan maksudnya apa. Pada variabel $key merupakan kolom yang akan dikeluarkan nilainya.

Baca juga: Super Global – Cara Membuat Class Session

Langka3

Pada saat kita ingin menyimpan data dengan Cookie kita harus tahu bagaimana caranya untuk mengambil datanya kembali. Sekarang kita akan membuat perintah yang bisa melakukan hal ini semua, silakan lihat dibawah ini kodingnya.

Kode Header.php
if (empty(Session::start('username'))) {
  if(!empty(Cookie::start('token_user'))){
    Session::set('username', select_cookie('user', 'token', Cookie::get('token_user'), 'username'));
  }
}

Pada if yang pertama dimana apabila Session username kosong maka nilanya true, if yang kedua berarti kita akan menguji Cookie token_user ada atau nggak. Kalau Cookie tersebut ada maka nilai true, maka secara otomatis kita tidak perlu login kembali, jika nilai false maka kita harus login kembai karena nilai Cookie sudah expire.

Baca juga: Sistem Login dan Register Dengan PDO

Langka4

Sekarang kita akan pergi ke file login.php dimana kita akan menggunakan Cookie untuk menyimpan data pada browser kita. Cara ini merupakan cara yang sederhana tidak ada centang remember me atau ingat saya pada saat login. Teman-teman bisa membuatnya dan menguji tombol centang ingat saya, setelah itu maka akan dieksekusi Cookie-Nya jika nilai true. Silakan tambah baris diatas class Session atau header() koding yang ada dibawah ini.

Kode Login.php
Cookie::set('token_user', select_cookie('user', 'username', $_POST['username'], 'token'), 3600);

Info: mungkin cara ini kurang mengasikan dan tidak ada validasi tertentu untuk kita dalam melakukan centang remember me akan tetapi dilain waktu kita akan coba dengan menggunakan remember me pada login.

Semoga tutorial kali ini bermanfaat dan terus ikuti tutorial selanjutnya pada Sistem Login dan Register. Masih ada tiga tutorial lagi yang harus kita pelajari dan hingga selesai. Selamat mencoba

Baca juga: Sistem Login Register Part18 – Hak Akses Admin dan Member (Multi User)

Category PHPTags Sistem Login Register


Write a Reply or Comment

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *