PHP HTML : SESSION - COOKIES Aplikasi PHP sering digunakan untuk interaksi dgn pengunjung. Pengunjung dapat memproses sebuah informasi yang dikirim ke server. Proses interaksi antara server PHP dgn pengunjung memerlukan form HTML PHP juga mempunyai session & cookies (catatan aktivitas) yang digunakan untuk menjaga / memelihara informasi yang di akses oleh seorang pengakses atau penunjung / pemakai aplikasi web.
SESSION dan COOKIES Mekanisme pengenalan session dengan menggunakan cookies akan berhasil apabila browser web (klien) mendukung cookies dan kemampuan untuk menerima cookies ini dihidupkan, fungsi ini sering dimatikan karena alasan keamanan oleh pemakainya.
1. PHP SESSION Sesion memungkinkan pelacakan akses pemakai, pengaturan pemakaian aplikasi oleh pemakai, dan meningkatkan layanan situs web.
Fasilitas session ada sejak PHP ver 4.0. ►Setiap pengunjung akan diberi sebuah id yang unik, yang disebut
dengan id session (session_id). Id ini dapat disimpan dalam suatu cookie pada sisi user atau disertakan pada URL. ►Dukungan
session memungkinkan kita untuk mencatat sejumlah variabel untuk digunakan antar pemintaan (request). Pada saat seorang pengunjung mengakses situs web kita,
PHP akan melakukan pemeriksaan secara otomatis (jika sesion.auto_start bernilai 1) atau pada request (secara eksplisit melalui session_start() atau implisit melalui session_register(), apakah Id session telah dikirimkan atau belum bersamaan dengan request. ►Session
koneksi antara klien dan server akan hilang atau putus apabila browser ditutup (selesai menggunakan browser). Apabila browser dijalankan kembali dan koneksi kepada server dilakukan maka dianggap sebagai koneksi baru.
►Perintah session selalu paling atas dari script, tidak boleh ada
perintah yang melakukan penulisan apapun sebelum perintah session selesai dijalankan.
Catatan untuk PHP di lingkungan Windows: Sebelum script yang menggunakan session dijalankan maka harus diperhatikan nama direktori untuk session.save_path, harus diubah dan /tmp dgn nama direktori temporer yang akan digunakan sebagai penyimpan data id_session. Setiap session akan mempunyai sebuah file temporer id_session. Gantikan/tmp dgn c:\temp. CONTOH 1 :
Nama script: use_session_O1.php
Demo Session - 01 < head>
Demo Session - 0l
KETERANGAN : 1. Script diatas melakukan pencatatan berapa kali seorang pemakai
yg sama melakukan akses terhadap dokumen use_session_01 .php ini.
2. Fungsi session_start() harus dijalankan pertama kali, hasilnya
selalu true. Fungsi ini akan melakukan proses pengenalan koneksi secara internal mencatat id_session.
3. Setiap pemakai akan mempunyai id session sendiri, sehingga
setiap pemakai dan akan mendapatkan informasi yang berbeda, hitungan count di atas untuk setiap pemakai dimulai dari awal yaitu satu.
OUTPUT : Berikut tampilan use_session_0l.php yang direfresh hingga 17 kali pada saat melakukan uji coba.
Dilakukan refresh hingga 17 kali
CONTOH 2 :
Script berikut ini digunakan untuk menampilkan id session pemakai. Dengan informasi ini dapat dikembangkan suatu aplikasi yang memungkin kan adanya mekanisme personalisasi. Yaitu :
“Membuat tampilan dan informasi yang ditampilkan pada situs dapat disesualkan dengan keinginan pemakai yang bersangkutan”.
Nama script : Use_Session_02.php Demo Session — session id Demo session — session id
Anda user ke : “.$count; echo “
ID Session anda “.$idsession; ?>
OUTPUT :
Tampilan use_session_02.php
FUNGSI HAPUS SEMUA ISI VARIABEL YANG ADA DLM SESSION session_destroy[] session_destroy() merupakan fungsi yang digunakan utk melakukan reset terhadap semua nilai variabel yg ada dlm suatu session.
Id_session untuk koneksi suatu klien (komputer) akan tetap sampai dengan browser di close.
CONTOH 1 :
Nama script use_session_out.php
Demo Session — Destroy — Reset Demo session — reset nilai counter
echo “
ID Session .”$idsession; echo “
Anda mengakses server ini sebanyak :“.$count; ?>
KETERANGAN : 1. Script ini akan melakukan reset variabel $count yang telah diset pada script use_session_01 .php.
2.
Session_destroy akan melakukan reset terhadap semua variabel yang diregistrasi oleh session_register(), reset di sini adalah menghilangkan catatan tentang variabel global untuk session bersangkutan.
OUTPUT :
Tampilan use_session_out.php
CONTOH 2 : Script berikut ini menunjukkan bahwa variabel $count yang dihasilkan oleh suatu session_register() dikenal oleh session dan klien pada setiap halaman, jika session_start() selalu dijalankan di awal script. Nama script : use_session_03.php Demo Session - Destroy - Reset c/title> Demo session - reset nilai counter echo “
ID Session “.$idsession; echo “
Anda mengakses server ini sebanyak :”$count; ?>
OUTPUT : Tampilan use_session_03.php
Suatu variabel akan menjadi variabel global seperti halnya pada contoh-contoh use_session_0?.php diatas hanya dapat dilakukan jika ada proses session start(), dan session_register(”namavar”).
Jika proses session_register() tidak dilakukan maka tidak ada variabel global $count. Coba jalankan use_session_0l.php kemudian use_session_03php berulang-ulang, kemudian jalankan use_session_o2.php. Setelah itu jalankan use_session_03.php lagi secara berulán-ulang. Apa yang terjadi? Isi variabel $count akan ditampilkan dengan nilai 1 terus, sebelunnya sempat naik satu kemudian menjadi satu terus. Hal ini disebabkan karena telah dijalankan proses session_destroy. Tampilan use_session_03.php setelah use_session_out.php dijalankan.