Dalam PHP Session membuat file dalam temporary direktori di server, dimana variable dan value dari session di simpan. Data ini akan selalu tersedia di seluruh halaman di sebuah website apabila user berkunjung ke website tersebut.
Lokasi file sementara dapat di setting di dalam file php.ini yang disebut session.save_path. Sebelum mengunakan variable session pastikan anda telah mengatur session.save_path di php.ini
Baca Juga: Tutorial Lengkap PHP Indonesia
Berikut ciri-ciri apabila session sudah di start/setup:
- PHP pertama kali membuat identifier unik untuk sesi tertentu yang merupakan random string dari 32 bilangan heksadesimal seperti 3c7foj34c3jj973hjkop2fc937e3443
- Cookie yang disebut PHPSESSID secara otomatis dikirim ke komputer pengguna untuk menyimpan string identifikasi session yang unik.
- Sebuah file dibuat secara otomatis pada server dalam direktori sementara yang ditunjuk dan diberi nama pengenal unik yang diawali oleh sess_ yaitu sess_3c7foj34c3jj973hjkop2fc937e3443.
Session berakhir saat user clear data browser atau server session menghentikan session dalam jangka waktu tertentu, biasanya durasi nya 30 menit.
Starting Session PHP
Session PHP dapat dimulai dengan call fungsi session_start(). Fungsi ini pertama-tama memeriksa apakah sesi sudah dimulai dan jika tidak ada yang dimulai, maka itu akan dimulai. Dianjurkan untuk call fungsi session_start() di awal halaman.
Variable Session disimpan didalam array asosiatif yang disebut $ _SESSION []. Variabel ini dapat diakses selama session berlangsung.
Manfaatkan fungsi isset () untuk memeriksa apakah variabel session sudah diterapkan atau tidak.
Letakkan kode ini di file test.php dan load file berkali-kali untuk melihat hasilnya -
<?php
session_start();
if( isset( $_SESSION['counter'] ) ) {
$_SESSION['counter'] += 1;
}else {
$_SESSION['counter'] = 1;
}
$msg = "You have visited this page ". $_SESSION['counter'];
$msg .= "in this session.";
?>
<html>
<head>
<title>Setting up a PHP session</title>
</head>
<body>
<?php echo ( $msg ); ?>
</body>
</html>
Resultnya adalah:
You have visited this page 1in this session.
Destroying Session PHP
Session PHP dapat dihancurkan/dihilangkan memakai fungsi session_destroy(). Fungsi ini tidak memerlukan argumen dan satu panggilan pun bisa menghancurkan semua variabel session. Jika Anda ingin menghancurkan satu variabel session maka Anda dapat menggunakan fungsi unset () untuk mengawali variabel session.
Berikut adalah contoh untuk unset satu variabel:
<?php unset($_SESSION['counter']); ?>
Berikut adalah untuk menghancurkan semua variabel session:
<?php session_destroy(); ?>
Cara Set Auto Session PHP
Anda tidak perlu memanggil fungsi start_session () untuk memulai sesi saat pengguna mengunjungi situs Anda. Anda bisa set melalui session.auto_start variable di file php.ini
Berikut contoh penerapa Set auto Session:
<?php
session_start();
if (isset($_SESSION['counter'])) {
$_SESSION['counter'] = 1;
}else {
$_SESSION['counter']++;
}
$msg = "You have visited this page ". $_SESSION['counter'];
$msg .= "in this session.";
echo ( $msg );
?>
<p>
To continue click following link <br />
<a href = "nextpage.php?<?php echo htmlspecialchars(SID); ?>">
</p>
Resultya adalah:
You have visited this page 1in this session. To continue click following link
htmlspecialchars () dapat digunakan saat mencetak SID untuk mencegah serangan terkait XSS.
Sumber: TutorialPoints.com
EmoticonEmoticon