Session PHP adalah sebuah variabel yang dapat digunakan untuk menyimpan informasi atau nilai tertentu. Session PHP juga mendukung sistem data berlapis atau array sehingga memungkinkan untuk menampung beragam informasi dalam satu nama session. Masing-masing session yang sudah dibuat hanya berlaku untuk satu pengguna yang sedang aktif session ini bersifat global dan dapat dipanggil setiap saat pada semua halaman php yang digunakan. Setiap pengguna yang menggunakan halaman php yang ada variabel sessionnya secara otomatis memiliki kode unik session yang akan otomatis hilang setelah pengguna menutup!meninggalkan halaman php. Session sangat berperan penting dalam penanganan hak akses terhadap user dalam suatu sistem "eb. Session digunakan untuk menyimpan suatu informasi antar proses re#uest baik re#uest dalam bentuk P$S% atau &'%. (ita ambil sebuah contoh dari penggunaan session misalnya pada saat proses login. )alam proses login user memasukkan username nya melalui form login. Setelah login berhasil user tersebut dihadapkan pada link menu navigasi yang menuju ke beberapa halaman "eb. *ntuk membatasi hak akses user terhadap halaman "eb tertentu maka maka username tadi haruslah disimpan dalam session. Perintah perintah dala session +erikut ini adalah perintah-perintah yang terdapat dalam session , -. Session!start"#$ berfungsi untuk memulai ! mengaktifkan session. .. Session!register"#$ berfungsi untuk mendaftarkan suatu variable ke dalam session. Parameter dari fungsi ini adalah nama variable yang akan disimpan di session. /. Session!%nregister"#$ berfungsi untuk menghapus suatu variable yang disimpan di session. 0. Session!is!registered"#$ berfungsi untuk memeriksa apakah suatu variable ada ! terdaftar dalam session. 1. Session!%nset"#$ berfungsi untuk menghapus semua variable yang terdaftar dalam session. 2er -.3 4by-dfr5 Page - [PHP TUTORIAL] Class Activity 6. Session!destro&"#$ berfungsi untuk menutup ! menghapus session beserta file sessionnya. Setelah sedikit penjelasan diatas maka akan dijelaskan lebih lanjut tentang perintah-perintah dari session ini. -. Session!start"#' Session7Start89 hanya dapat dilakukan di a"al file dan jangan ada - karakter pun ter-echo-kan ke bro"ser sebelum session7start89. :) session tersebut akan hilang atau terhapus jika bro"er ditutup. )an akan dibuat lagi ketika kita membuak bro"es lagi dengan :) session yang berbeda. .. Session!register"#' Pembuatan session dengan session start akan menghasilkan file session dengan nama sess7 diikuti oleh nilai session7id. Session dapat juga dibuat de"ngan fungsi session7register89; Penggunaan session7register89; memungkinkan penyimpanan variable dan nilainya dalam file. 2er -.3 4by-dfr5 Page . [PHP TUTORIAL] Class Activity (atatan) *ntuk saat ini penggunaan session sudah di handle variable S*P'<&=$+A=, *!S+SSIO,[-naa!.aria/le!session-] 0 nilai!.aria/le' >adi penggunaan session7register89; dapat diganti dengan ?7S'SS:$@. )an jika memakai fungsi-fungsi session selain session7start89 dan session7destroy898mgkn msh ada lagi9 tidak boleh di barengi dengan pemakaian ?7S'SS:$@. (ontoh s1ript) 2er -.3 4by-dfr5 Page / [PHP TUTORIAL] Class Activity TU2AS ) +uatlah form untuk membuat session yang berisi informasi username pass"ord dan level 3enghap%s Session Menghapus session biasanya digunakan pada saat proses =oguot. Proses ini akan menghapus isi session yang sudah terdaftar di bro"ser. *ntuk menghapus session gunakan Session!%nregister Session!%nset atau Session!destro&. *ntuk menghapus session maka session harus diaktifkan dulu dengan menggunakan session!start"#. >ika ingin hanya menghapus sebuah variable session gunakan Session7unregister 8AnamavariableB9. >ika ingin menghapus seluruh variable session gunakan session7unset89. *ntuk menghapus elemen-elemen dari session tetapi tanpa membuang atau mengakhiri session itu sendiri bisa digunakan fungsi session7unset89. >ika ingin menghapus seluruhnya 8file session9 gunakan session7destroy89. Session destroy89 berguna untuk menghapus dan mengakhiri session sekaligus menghapus semua elemen yang ada. >ika bro"ser telah ditutup secara otomatis session akan diakhiri "alaupun fungsi session7destroy89 tidak dituliskan secara eksplisit. S+SSIO,!I4"# *ntuk mendapatkan atau memberi nilai id pada saat session saat setiap kali pengunjung membuka "ebsite akan diberikan identifikasi session yang bersifat unik atau berbeda di setiap id session yang terbentuk. 2er -.3 4by-dfr5 Page 0 [PHP TUTORIAL] Class Activity S+SSIO,!,A3+"# Cungsi session7name89 adalah untuk memperoleh atau memberikan nilai terhadap sebuah session. @ama session secara standar adalah PHPS'SS:). jika diingnkan nama lain bisa ditulis dengan pendeklarasian session7name89. S+SSIO,!R+2IST+R"# Cungsi session7register89 adalah untuk mendaftarkan nilai session terhadap setiap variabel session yang akan menyimpan nilai tersebut. (ontoh ) +uat sebuah file hapus7session.php Setiap session akan berakhir secara otomatis jika halaman berpindah ke alamat server lain atau bro"ser ditutup. >ika kita ingin mengakhiri session secara manual 8seperti proses logout9 maka kita bisa gunakan kode berikut , 2er -.3 4by-dfr5 Page 1 [PHP TUTORIAL] Class Activity (ontoh pengg%naan Session ) (ali ini kita akan mencoba membuat simulasi bagaimana Session bekerja pada sebuah halaman =ogin *ser. =angkah pertama kita buat form login terlebi dahulu , Login.php )alam simulasi ini kita belum menggunakan database untuk menyimpan variable username dan pass"ord. Saya akan memfokuskan dulu untuk membahas cara kerja session. >adi untuk simulsi ini kita anggap semua proses login dianggap sukses. *ntuk materi login dengan database ada di bab modul berikutnya. +erikutnya kita buat file submit.php untuk menjalankan action proses dari form login.php 2er -.3 4by-dfr5 Page 6 [PHP TUTORIAL] Class Activity S%/it.php Hasil di bro"ser seperti berikut , *ntuk hal- hal. dan hal/ juga diberikan perintah session7start89;. 2er -.3 4by-dfr5 Page D [PHP TUTORIAL] Class Activity hal5.php %ampilan hal- di bro"ser seperti berikut Pada halaman pertama session masih berjalan yaitu sebagai admin. +egitu juga pada halaman dua dan halaman tiga. 2er -.3 4by-dfr5 Page E [PHP TUTORIAL] Class Activity hal6.php %ampilan halaman dua di bro"ser sebagai berikut hal7.php 2er -.3 4by-dfr5 Page F [PHP TUTORIAL] Class Activity %ampilan halaman tiga pada broser sebagai berikut Ingat88. setiap akan menampilkan nilai session perintah session7start89 harus diberikan terlebih dahulu di paling a"al kode program php. Sekarang kita akan mencoba untuk menghapus session. +agaimana caranyaGG. *ntuk menghapus session gunakan perintah session7destroy89 atau unset8?7S'SS:$@4Hnama sessionH59. +eda dari kedua perintah tersebut adalah session7destroy89 digunakan untuk menghapus semua session sedangkan unset8?7S'SS:$@4Hnama sessionH59 digunakan untuk menghapus session tertentu saja. Penerapan penghapusan nilai session ini biasanya untuk proses logout. Prinsipnya proses logout akan menghapus nilai session yang tersimpan pada bro"ser dalam hal ini adalah username. +erikut contoh script nya, >ika script logout di atas dijalankan maka sername yang telah tersimpan tadi tidak akan muncul lagi di halaman-halaman yang ada. 2er -.3 4by-dfr5 Page -3 [PHP TUTORIAL] Class Activity Hasilnya akan @ampak di bro"ser sebagai berikut. @ama uses tidak akan muncul lagi pada halaman. Penerapan Session pada setiap halaan Manfaat session yang lain adalah dapat mencegah user mengakses halaman-halaman tertentu yang sifatnya private tanpa melakukan login 8by pass9. )alam contoh di atas Anda akan dapat mengakses halaman - halaman . dan / secara langsung tanpa proses login terlebih dahulu. (ita dapat membuat ketiga halaman tersebut tidak bisa diakses oleh user yang masuk tanpa proses login. Caranya aalah dengan mendeteksi session username. Pendeteksian ini dilakukan di ketiga halaman tersebut. +ila terdeteksi nilai session username ini masih kosong maka dianggap user yang mengakses tersebut tidak melakukan login terlebih dahulu sehingga akses harus diblok. +erikut ini script untuk mendeteksi session username yang masih kosong. 2er -.3 4by-dfr5 Page -- [PHP TUTORIAL] Class Activity (ek.php Script di atas nantinya akan disisipkan ke ketiga halaman private menggunakan perintah in1l%de"#'. Perintah ini disisipkan sebelum menampilkan konten yang ada pada halaman tersebut. +erikut ini contoh menyisipkan script cek.php ke halaman pertama. *ntuk halaman yang lain caranya sama. +egitu terdeteksi user yang mengakses halaman tersebut tanpa login maka akan muncul IAnda /el% loginJ sedangkan konten halaman aslinya tidak akan muncul. Hal ini karena efek dari perintah IeKitJ. Cile cek.php basa kita letakkan pada setiap halaman yang akan kita batasi hak aksesnya. 2er -.3 4by-dfr5 Page -. 9esip%lan dala pengg%naan Session PHP -. Secara gari besar session dapat dibagi menjadi tiga bagian besar yaitu pembuatan session pemakaian dan penghapusan session. *ntuk lebih jelas dapat dilihat pada gambar diba"ah ini. .. Aplikasi yang menggunakan session salah satunya adalah situs yang menggunakan login. Setelah seseorang melakukan login maka nama user dan status loginnya dapat dibaca disetiap halaman "eb. >ika suatu halaman diakses tetapi sessionnya tidak memiliki status login maka dianggap belum login. Sistem harus menampilkan layar AAnda harus login terlebih dahulu untuk mengakses situs iniB. /. %empatkan fungsi session7start89 dibagian paling atas coding php tidak boleh didahului oleh coding apapun. 0. Perhatikan penamaan variable session ketika session7register89 huruf besar kecilnya 8case sensitive9 karena ketika penggunaan variable session tersebut harus sama jenis hurufnya. 8Sebenarnya bukan hanya variable session saja yang bersifat case sensitive tapi juga penamaan variable lainnya di PHP sifatnya case sensitive termasuk penamaan komponen misalnya name teKtfiled teKtarea list!menu dll9. 1. Setiap kali akan menggunakan variable session maka harus dituliskan session7start89 dibagian paling atas coding. 6. *ntuk membatasi hak akses pada setiap halaman bias kita batasi dengan menggunakan file cek.php.