Pengertian Session dan cara Menggukannya pada PHP
Session digunakan untuk menyimpan data sementara kedalam variabel session itu sendiri, sehingga data yang tersimpan pada session dapat digunakan untuk keperluan tertentu, misalnya untuk keperluan login. Selain itu nilai dari variabel session ini dapat digunakan pada halaman mana saja (across multiple pages).
dan contoh sederhana pembuatan variabel session adalah seperti ini :
<?php $_SESSION['username'] = 'kamandanu'; ?>
Nilai dalam session disimpan di dalam server, berbeda dengan cookies yang nilainya disimpan di dalam browser. sehingga session lebih aman untuk menyimpan data yang sifatnya rahasia seperti username dan juga password.
Misalkan sebuah login, yakni saat dimana user mengakses suatu halaman, maka user tersebut telah memulai session/sesi.
Session ini adalah sebuah sesi yang sama seperti saat kita login facebook, lalu saat kita berhasil login, maka secara otomatis sistem akan membuat variabel session yang isinya meruoakan data pribadi kita seperti id, nama, username, dan password. dengan semua data informasi tersebut kita mendapatkan izin untuk mengakses seluruh halaman yang ada.
Namun saat kita melakukan lagout, maka variabel session itu akan hilang, dan kita tidak lagi dapat mengakses halaman-halaman tersebut.
Untuk memulai session sendiri kita harus menggunakan keyword session_start() berarti sebuah sesi telah dimulai.
session_start();
kemudian barulah kita buat variable session-nya :
session_start(); $_SESSION['username'] = 'kamandanu';
Maka session yang telah dibuat, sehingga kita dapat menampilkan outputnya.
<?php session_start(); $_SESSION['username'] = 'kamandanu'; ?> <h1>Hallo <?= $_SESSION['username'] ?></h1>
Setelah berhasil membuat session dan kita ingin mengakhiri sesi kita, maka ada baiknya session kita dihapus dari server agar tidak disalah gunakan oleh orang yang tidak bertanggung jawab. Untuk menghapus session kita sendiri dapat menggunakan perintah session_unset() untuk menghapus semua variable $_session kemudian kita tambahkan perintah session_destroy() untuk menghancurkan semua data session yang telah tersimpan didalam penyimpanan file sistem. Jadi kita gunakan 2 perintah diatas untuk memastikan jika session benar-benar sudah tidak ada lagi.
<?php session_start(); $_SESSION['username'] = 'kamandanu'; ?> <h1>Hallo <?= $_SESSION['username'] ?></h1> <?php session_unset(); ?> <?php session_destroy(); ?> <hr> <h1>Hallo <?= $_SESSION['username'] ?></h1>
Pada contoh diatas, setelah tag <hr> saya sengaja mencetak kembali session yang telah dibuat untuk memastikan apakah session benar-benar sudah terhapus atau belum, dan bila session sudah tidak ada lagi, maka pesan error akan muncul. Seperti output gambar dibawah ini :
Sekarang mari kita ke contoh kasus yang lain, yakni contoh kasus login. Silahkan buat 3 buah file dalam satu folder bernama :
1. Php
2. Php
3. Php
kemudian pada file tes_session1.php isikan kode dibawah ini :
<?php session_start(); if (isset($_GET['submit'])) { $_SESSION['username'] = $_GET['username']; header('location: tes_session2.php'); } ?> <form method="GET"> <p>Login</p> <input type="text" name="username"> <input type="submit" name="submit"> </form>