Anda di halaman 1dari 13

[PHP TUTORIAL] Class Activity

Bekerja dengan Session


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.

Anda mungkin juga menyukai