Fitur Remember Me di Login Pada PHP

Adanya fitur ingat saya (remember me) memungkinkan pengguna tidak perlu masuk ke aplikasi lagi, selama tidak lebih batas waktu yang telah ditetapkan untuk berapa lama fitur ingat saya akan menyimpan waktu masuk Anda. Misalnya jika suatu aplikasi hanya memberikan waktu satu pekan untuk menyimpan ingat saya, maka lebih dari itu otomatis akan terhapus dan Anda harus masuk kembali ke aplikasi tersebut.

Daftar isi:

Baca juga:

Kenapa menggunakan cookie?

Cookie merupakan data kecil yang dikirim sebuah situs web dan disimpan pada perangkat pengguna oleh web browser selama membuka halaman web yang dituju. Jadi cookie akan disimpan disisi klien bukan disisi peladen (server) dan tidak sama dengan session yang disimpan di peladen.

Menyimpan cookie

Skrip menambahkan remember me

Skrip dibawah ini ditujukan untuk memberikan tombol centang, saat Anda mencentang Remember me maka Anda sudah menggunakan fitur tersebut.

<div class="field">
    <label class="checkbox">
        <input type="checkbox" name="remember"> Remember me
    </label>
</div>

Salin skrip diatas kemudian sisipkan pada berkas login.php dan lihat penerapannya dibawah ini:

gambar 2

Pada tahapan ini Anda akan mulai mempersiapkan cookie untuk disimpan, jadi untuk membuat variabel cookie bisa dilakukan dengan setcookie() seperti dibawah ini:

if (isset($_POST['remember'])) {
    setcookie('username', $user->username, time() + 3600);
}

Saya memberikan nama cookie dengan username dan nilainya saya ambil dari username pengguna, sedangankan durasi yang saya berikan 1 jam = 3600 detik. Salin skrip diatas ke berkas login.php dan lihat gambar dibawah ini untuk menerapkannya:

gambar 1

Catatan: Penjelasan tentang setcookie() ialah untuk parameter bisa dijelaskan dengan (nama, nilai, waktu kedaluwarsa).

Mengingat cookie

Jika nilai session tidak ada dan cookie ada maka skrip dibawah inilah yang akan diproses, dimana cookie masih menyimpan nilai username. Proses tersebut akan membuat variabel user_login pada session yang nilainya terdapat dari variabel username cookie. Lihat skrip dibawah ini:

if (isset($_COOKIE['username']) && !isset($_SESSION['user_login'])) {
    $_SESSION['user_login'] = $_COOKIE['username'];
}

Salin dan tempelkan skrip diatas ke berkas theNavbar.php dan lihat gambar dibawah ini untuk lebih jelasnya:

gambar 3

Menghapus cookie

Pada tahapan ini mungkin Anda akan bertanya kenapa cookie dihapus? iya tentu saja akan dihapus, karena proses ini dilakukan bila pengguna melakukan logout. Jadi kalau pengguna logout, cookie tidak terhapus maka session akan dibuat kembali berdasarkan tahap Mengingat cookie. Silakan lihat skrip dibawah ini yang dimana variabel username akan diberikan nilai kosong ('') dan waktu kedaluwarsa dikurang 1 jam. Hal ini akan menghapus cookie username dan perhatikan skrip dibawah ini:

setcookie('username', '', time() - 3600);

Salin skrip diatas kemudian sisipkan pada berkas logout.php dan lihat penerapannya dibawah ini:

gambar 4


profil

DITULIS OLEH

Febri Hidayan

Berikan saya sponsor terbaik Anda agar saya tetap semangat menulis artikel yang bermanfaat. Terimakasih 😊