PHP Session: Menyimpan Data Antar Halaman

Untuk mengingat pengguna selama mereka menjelajahi situs — misalnya menjaga status login atau isi keranjang belanja — kita membutuhkan PHP Session. Berbeda dengan cookie yang menyimpan data di browser, session menyimpan data di server sehingga jauh lebih aman. Session adalah fondasi dari hampir semua fitur autentikasi.

Bagaimana Session Bekerja?

Ketika session dimulai, server membuat sebuah ID unik untuk pengunjung dan menyimpannya dalam cookie kecil. Data sebenarnya (nama, status login, dan lain-lain) disimpan di server, terhubung dengan ID tersebut. Jadi, browser hanya menyimpan “kunci”, bukan datanya.

Memulai Session

Setiap halaman yang memakai session harus memanggil session_start() di baris paling atas, sebelum output apa pun:

<?php
session_start();
$_SESSION["pengguna"] = "Budi";
$_SESSION["role"] = "admin";
?>

Membaca Data Session

Data session tersedia di semua halaman selama session aktif, cukup panggil session_start() lalu akses $_SESSION:

<?php
session_start();
if (isset($_SESSION["pengguna"])) {
    echo "Halo, " . $_SESSION["pengguna"];
}
?>

Contoh Praktik: Melindungi Halaman

Session paling sering dipakai untuk membatasi akses. Berikut cara memastikan hanya pengguna login yang bisa membuka sebuah halaman:

<?php
session_start();
if (!isset($_SESSION["login"])) {
    header("Location: login.php");
    exit; // penting, hentikan skrip
}
echo "Selamat datang di dashboard!";
?>

Menghapus Session (Logout)

Saat pengguna logout, hapus semua data session:

<?php
session_start();
session_unset();   // hapus semua variabel session
session_destroy(); // hancurkan session
?>

Session vs Cookie

AspekSessionCookie
Lokasi dataServerBrowser
KeamananLebih amanKurang aman
Cocok untukLogin, data sensitifPreferensi ringan

Kesalahan Umum

  • Lupa session_start() di salah satu halaman, sehingga $_SESSION kosong.
  • Tidak memanggil exit setelah redirect, sehingga kode di bawahnya tetap jalan.

Kesimpulan

PHP Session adalah kunci untuk membangun fitur login dan area anggota yang aman. Selalu mulai dengan session_start(), simpan data penting di server, dan hancurkan session saat pengguna logout.

Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

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