Mengenal Session Pada PHP

Dalam PHP, session merupakan data yang disimpan dalam suatu server yang dapat digunakan secara global di server tersebut, dimana data tersebut spesifi
Mengenal Session Pada PHP


Tutorial PHP Pemula Part 23 : Mengenal Session Pada PHP

Tutorial PHP Pemula Part 23 : Mengenal Session Pada PHP -  Hello everyone selamat datang kembali diwebsite saya belajarwithib.my.id, pada seri kali ini kita akan masih mempelajari PHP Dasar  Mengenal Session Pada PHP. 

Pada tutorial sebelumnya kita sudah membahas COOKIE pada artikel berjudul Cara Membuat Cookie Dengan PHP saya harap kamu membaca itu terlebih dahulu karena Session merupakan bentuk lain dari Cookie itu sendiri namun nanti saya akan juga menjelaskan beberapa perbeda antara session dan cookie ini beserta cara kerjanya juga lalu untuk mini project session juga sudah saya buat artikelnya yang berjudul Cara Membuat Login PHP Dengan MD5 Dan Menggunakan Session.

Mengenal Session Pada PHP

1. Apa Sih Session itu Lalu Perbedaannya Dengan Cookie Apa?

Dalam PHP, session merupakan data yang disimpan dalam suatu server yang dapat digunakan secara global di server tersebut, dimana data tersebut spesifik merujuk ke user/client tertentu. Sumber jagowebdev.com .

Seperti yang saya tulis diatas bahwa session merupakan bentuk lain daripada cookie, Session bisa juga menampung data namun ada beberapa perbedaan session dan cookie, yaitu sebagai berikut :

Session disimpan didalam web server

Inilah perbedaan pertama yang saya lihat dan saya praktekan, Kalau kamu membaca artikel berjudul Cara Membuat Cookie Dengan PHP kita telah tahu bahwa cookie disimpan di web browser sedangkan session disimpan didalam web server.

Varibel superglobal session

Kalau cookie variable superglobalnya adalah $_COOKIE, session juga mempunyai variabel superglobal juga yaitu $_SESSION.

Session akan hilang ketika kamu menutup web browser

Contoh nya saya kemarin membuat mini project membuat login session dengan php lalu ketika sudah jadi saya langsung login untuk mengecek berhasil atau tidak ternyata berhasil namun saya tidak sengaja menekan tombol close web browsernya lalu setelah saya buka kembali web browsernya saya harus login kembali agar bisa masuk kehalaman admin.

Nah itu merupakan contoh kecil bahwa session dapat hilang ketika kita menutup web browsernya karena session itu hanya memiliki 1 sesi , namun setelah saya baca kesana-kemari sekarang beberapa web browser sudah menyediakan fitur untuk session.

Session dapat menyimpan data lebih banyak

Cookie memiliki batas maksimal data yang tersimpan Maksimum 4 KB saja dan itu berlaku untuk seluruh total cookie dari seluruh website namun kalau session tiada batasan, karenakan datanya didalam server.

Cara Kerja Session

Didalam PHP, ada fungsi yang nama fungsinya adalah session_start() karena kita harus mengetikan fungsi itu terlebih dahulu agar memulai session. Cara penulisannya seperti code dibawah ini :


<?php 
session_start();
echo "Mengaktifkan Session";
?>

Maka kalau dicek di inpect element hasilnya akan seperti dibawah ini :

Mengenal Session Pada PHP

Kamu bisa melihat seperti tinggal tekan CTRL+SHITF+I secara bersamaan lalu pilih Aplication dan pilih cookies nanti kamu akan melihat PHPSESSID. Nama itu merupakan nama default yang digunakan PHP namun kamu bisa menganti nya dari pengaturan session name.

Lalu didalam valuenya terdapat karakter acak 48p6jebsfducvlqgmqo80mf896. Karakter ini akan berpasangan dengan sebuah file didalam web server, secara default file itu akan tersimpan pada C:\xampp\tmp dan filenya seperti dibawah contohnya

Mengenal Session Pada PHP

Disitulah semua data session disimpan, sebenarnya ada banyak didalam web server saya namun saya sembunyikan.

Lalu bagaimana caranya agar kita bisa memasukan data kedalam session? Gampang kok perhatikan code dibawah ini :


<?php 
session_start();
?>
<!DOCTYPE html>
<html>
<head>
	<title>Belajar Session</title>
</head>
<body>
<?php 
$_SESSION['nama'] = "Ilham Budiawan Sitorus";
$_SESSION['level'] = "admin";
?>
</body>
</html>

Kita menggunakan variable superglobal session untuk memasukan datanya. Nanti jika kamu sudah save tidak akan ada terjadi apa-apa namun ketika kamu membuka file yang didalam C:\xampp\tmp maka hasilnya akan seperti dibawah ini :

Mengenal Session Pada PHP

Lalu kita akan mencoba memanggil data yang tersimpan pada session, perhatikan lah code dibawah ini :


<?php 
session_start();
?>
<!DOCTYPE html>
<html>
<head>
	<title>Belajar Session</title>
</head>
<body>
<?php
echo "Anda Adalah ".$_SESSION['nama'];
echo "<br>";
echo "Level Anda Adalah ".$_SESSION['level'];
?>
</body>
</html>

Maka hasilnya akan seperti dibawah ini : 

Mengenal Session Pada PHP

Untuk mengakses data session nama, kita tinggal memanggil variabel $_SESSION["nama"], begitu juga dengan variabel session lain.

Cara Menghapus Session

Saya sudah bilang kalau session bisa hilang ketika kita menutup web browsernya namun ada cara lain selain cara itu dengan menggunakan fungsi yang disediain PHP itu juga yaitu fungsi unset() dan fungsi session_destroy().

Nah sekarang kita akan mempraktekkan bagaimana cara menghapus session denganfungsi unset(), untuk pertama kali kita akan mencoba menghapus variable session level caranya gampang kamu lihat code dibawah ini :


<?php 
session_start();
unset($_SESSION['level']);
?>

Jika kamu ingin menghapus data sessionsecara individual, kamu bisa menghapusnya dengancara diatas.

Namun jika kamu ingin menghapus seluruh variable session coba lah menggunakan code dibawah ini :


<?php 
session_start();
session_unset();
?>

Maka hasilnya seluruh variable session bakalan terhapus.

Lalu bagaimana caranya menghapus fisik file session, kamu bisa menggunakan fungsi session_destroy() contohnya seperti dibawah ini :


<?php 
session_start();
session_destroy();
?>

Jika kamu menggunakan fungsi session_destroy maka akan menghapus file session ditemporary foldernya. Jika kamu cek file yang berada didalam C:\xampp\tmp itu sudah tidak ada lagi.

Penutupan

Begitulah sedikit penjelasan mengenai SESSION, untuk mini projectnya kamu bisa membaca artikel yang berjudul Cara Membuat Login PHP Dengan MD5 Dan Menggunakan Session.

Semoga Bermanfaat!!