Session dan Cookie diartikan sebagai sebuah metode menyimpan suatu data, sehingga dapat digunakan kembali oleh halaman – halaman web lain.
Adapun perbedaan yang sangat mencolok, Session sebenarnya lebih untuk membatasi hak akses untuk sebuah halaman tertentu dalam website. Sedangkan cookie lebih banyak digunakan untuk memberi batas waktu kepada pengunjung untuk mengakses halaman web.
Adapun perbedaan yang lain mengenai :
Definisi
- Session: Session adalah pertukaran informasi sementara dan interaktif antara dua atau lebih perangkat komunikasi atau antara komputer dan pengguna.
- Cookies: Cookies adalah bagian kecil data yang dikirim dari situs web dan disimpan di komputer pengguna oleh browser web pengguna saat pengguna sedang menjelajah.
Metode Penyimpanan
- Session: Session disimpan di sisi server.
- Cookies: Cookies disimpan di browser klien sebagai file teks.
Jumlah Data
- Session: Session dapat menyimpan sejumlah besar data.
- Cookies: cookies dapat menyimpan sejumlah data minimum.
Keamanan
- Session: Session memberikan keamanan lebih karena sulit untuk mengakses nilai session.
- Cookies: Cookies memberikan keamanan minimum karena lebih mudah untuk mengakses nilai-nilai cookies.
Menghapus
- Session: Pengguna harus menutup browser untuk menutup session karena session ini tersedia sampai browser dibuka.
- Cookies: Cookies menyimpan informasi sampai dihapus oleh pengguna atau diatur sesuai pengatur waktu.
Memegang Berbagai Variabel
- Session: Session memegang beberapa variabel.
- Cookies: Cookies tidak.
Keandalan
- Session: Session lebih dapat diandalkan, karena data session disimpan di server.
- Cookies: Cookies tidak dapat diandalkan, karena data cookies tidak tersimpan di server.
Contoh kasus penggunaan session dan cookie pada form login dan pendaftaran member, yang pertama dilakukan adalah membuat sebuah database. Saya beri nama database tersebut sagiri_db.
Buat tabel dengan nama user dan isikan 3 untuk jumlah kolom yang akan dibuat. Kemudian isikan ke 3 kolom yang telah dibuat tadi seperti dibawah ini:
Sebelum ke pembuatan form daftar dan login buat terkebih dahulu file koneksi.php untuk menghubungkan ke database
Isi file koneksi.php
<?php
$hostname = "localhost";
$username = "root";
$password = "";
$dbname = "latihan";
$db = new mysqli($hostname, $username, $password, $dbname);
?>
Karena disini saya menginginkan jika file index.php di akses, user harus login lebih dahulu. Maka kita buat fungsi session nya seperti :
<?php
session_start();
if(!isset($_SESSION['username'])) {
header('location:login.php');
} else {
$username = $_SESSION['username'];
}
?>
Maksud dari script diatas ialah apabila session username tidak ditemukan, maka fungsi header() akan mengirimkan kita ke halaman login.php atau bisa disebut redirect (pengalihan) dan jika session username ditemukan maka halaman index.php bisa di akses.
Membuat file daftar.php, untuk script sederhana nya seperti berikut :
Buat file proses-daftar.php yang berisikan query mysqli untuk melakukan proses memasukan data pendaftaran pada database.
Membuat file login.php
Membuat file proses-login.php sama seperti proses-daftar.php namun query ini untuk memanggil apakah username password ada pada database, jika iya maka berhasil login jika tidak maka gagal.
Yang terakhir membuat file logout.php, yang berisi fungsi session_destroy() untuk mengakhiri sebuah fungsi session (menghapus)
<?php
session_start();
session_destroy();
?>
Sampai disini kalian seharusnya sudah memahami fungsi session pada sebuat website, dibandingkan dengan cookie saya sendiri lebih memilih session karena fungsi session ini memiliki keamanan lebih dibandingkan dengan cookie.