Bagian 7 MENGGUNAKAN SESSION DAN COOKIES
Program PHP memiliki beberapa fungsi yang dapat digunakan untuk menyimpan data sementara. Data ini akan disimpan dalam sebuah variabel dan disimpan dalam jangka waktu sementara selama seorang user mengunjungi website dan selama belum menutup jendela browser. Hal ini sering disebut cookies dan session. Fungsi cookies dan session ini sering digunakan untuk mengakses website pada halaman member atau website yang menyediakan fasilitas belanja online dan fasilitas-fasilitas lain yang berhubungan dengan akses database oleh anggota terdaftar. Session Session sangat bermanfaat untuk website yang memberikan fasilitas terbatas bagi user yang telah terdaftar sebagai anggota. Data session akan tercipta pada saat user mengunjungi website dan login pada halaman keanggotaan. Data session akan otomatis terhapus jika user keluar dari halaman anggota atau menutup website tersebut. Membuat Session Data session tidak akan tercipta secara otomatis. Session diciptakan dengan menggunakan fungsi session_start() yang berfungsi memanggil session tersebut. Ada hal yang perlu diperhatikan sebelum menggunakan fungsi session ini, yaitu path untuk menyimpan data session ini. Pengaturan lokasi penyimpanan data session terdapat dalam file yang bernama php. yang ada dala folder c:\windows\. File ini adalah file konfigurasi untuk modul PHP dalam windows yang tercipta saat modul PHP diinstal dalam windows. Lokasi penyimpanan data sesion dapat diatur dalam file ini dengan mengubah data pada bagian berikut ini: Session.save_path =c:\PHP\sessiondata
40
Hal ini memberikan informasi bahwa data session yang akan digunakan tersimpan dalam folder session data yang ada dalam direktori PHP. Bentuk : Session_Start(); Keterangan : Fungsisession_start tidak dideklarasikan formatnya. Contoh: Berikut ini adalah contoh sederhana menggunakan fungsi session_start():
Menggunakan fungsi session Selamat dating di halaman session…
ID session Anda adalah : ". Session_id(); ?>
Hasil fungsi session yang ditampilkan adalah data berupa kombinasi angka dan huruf. Setiap user yang mengunjungi halaman tersebut akan diberi data session yang berbeda-beda secara acak. Membuat Session dengan Fungsi Session_Register() Fungsi session yang dipelajari sebelumnya menghasilkan data session secara default. Data tersebut tidak dapat dideklarasikan sesuai dengan keinginan pembuat program. Cara membuat session yang dapat mendekrasikan sebuah variabel dan isi datanya adalah dengan
41
mengunakan fungsi session_register(). Dengan menggunakan fungsi session_register() ini, maka data session dan variabel yang dijadikan data session dapat dibaca di browser. Bentuk : Session_Register(string); Keterangan :
String adalah nama variabel yang datanya akan didaftarkan menjadi data session.
Contoh :
Session register "; echo"Nama Anda adalah
$nama"; echo"Alamat Anda adalah
$alamat"; echo"
Halaman 2
"; echo""; }else{ ?>
42
Kode program di atas adalah halaman untuk login dan mendaftarkan variabel nama dan alamat data session sehingga jika user mengakses halaman kedua, data session akan tetap tersimpan selama belum menutup halaman tersebut. Berikut ini adalah kode program untuk halaman kedua yang menggunakan fungsi session sehingga data session tersebut dapat dikenali pada halaman tersebut. "; session_start(); echo"
Halaman dua"; if($nama){ echo"Nama Anda adalah
$nama"; echo"Alamat Anda adalah
$alamat"; }else{ echo"
Anda belum login!
Klik di sini untuk LOGIN"; } echo""; ?>
Jalankan
file
session_register.php
sebagai
halaman
untuk
login
pengunjung website. Isi form yang tersedia dan tekan tombol LOGIN, maka data dari variabel nama dan alamat akan tersimpan sebagai data session. Setelah Anda tekan tombol LOGIN, maka akan tampil halaman anggota yang menampilkan nama, alamat, dan link menuju halaman 2. Klik link ke
43
halaman dua, maka data nama dan alamat akan tetap tersimpan dan dapat ditampilkan pada halaman 2. Pada halaman 2 pun data nama dan alamat akan tetap dapat ditampilkan. Mengecek Hasil Registrasi Pada sebuah halaman website yang hanya mengujinkan user anggota saja yang dapat mengakses, dibutuhkan program yang berfungsi memeriksa apakah pengunjung sudah login atau belum. Untuk memeriksa variabel session, Anda dapat menggunakan fungsi session_is_registerd(). Fungsi ini bernilai True, jika session terregistrasi dan sebaliknya akan bernilai False, jika session belum terregistrasi. Bentuk : Session_is_Registered(String); Keterangan :
String adalah nama variabel yang datanya akan didaftarkan menjadi data session.
Contoh : Berikut ini adalah kode program yang berfungsi memeriksa user yang belum login:
Anda belum login, tidak dapat mengakses halaman ini."; echo"
Klik disini untuk login"; exit; } ?>
44
Menghapus Variabel Session Untuk menghapus atau mengakhiri sebuah session, Anda dapat menggunakan fungsi Session_Destroy(). Untuk menghapus semua variabel yang telah teregistrasi, Anda dapat menggunakan fungsi Session_Unset(). Fungsi ini menghapus semua variabel dan file-file yang ada di direktori session data. Susunan yang benar untuk menghapus session data adalah fungsi Session_Unset(), kemudian diikuti fungsi Session_Destroy(). Bentuk : Session_Destroy(String); Session_Unset(); Keterangan :
String adalah nama variabel yang datanya akan didaftarkan menjadi data session.
Fungsi session_unset tidak dideklarasikan formatnya.
Contoh : Sebagai contoh, program untuk menghapus data session adalah sebagai berikut : "; echo"ID session aktif adalah : ".session_id(); ?>
Cookies Cookies adalah mekanisme penyimpanan sebuah data variabel pada browser user. Pada dasarnya cookies hampir sama dengan session. Akan tetapi, dengan
45
fungsi cookies Anda dapat mengatur berapa lama waktu untuk menyimpan variabel data tersebut pada browser user hingga data cookies tersebut terhapus secara otomatis. Membuat Cookies Cookies adalah bagian dari HTTP header sehingga cookies harus dideklarasikan sebelum program mengirim output apapun ke browser pengunjung. Bentuk : Setcookies() Keterangan :
Fungsi cookies tidak dideklarasikan formatnya..
Contoh : Berikut ini adalah contoh pembuatan cookies : Cookies Cookies telah diset:
Nama : $nama
Email : $email
Halaman dua
"; }else{ ?>