SESSION PADA PHP
A.
SEKILAS TENTANG SESSION
Secara umum, session digunakan
untuk menyimpan suatu informasi antar proses request, baik request dalam bentuk
POST atau GET. Session adalah
variable yang dapat mempertahankan isinya dalam periode waktu tertentu (bisa
diset) dan disimpan diserver. Meskipun berpindah-pindah halaman (dalam 1
website tersebut) variable masih bertahan. Jadi session hanyalah sebuah
variable dengan karakteristik tertentu.
PHP mempunyai session (catatan
aktivitas) yang digunakan untuk menjaga / memelihara informasi akses dari
seorang pengakses / pemakai aplikasi web. Session memungkinkan pelacakan akses
pemakai, pangaturan pemakaian aplikasi oleh pemakai dan meningkatkan layanan
situs web. 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 dalam URL. Session koneksi antara klien dan server
akan hilang atau putus apabila browser ditutup. Apabila browser dijalankan
kembali dan koneksi ke server dilakukan maka dianggap sebagai koneksi baru.
Salah satu contoh yang
menggambarkan penggunaan session adalah proses login. Dalam hal ini user akan
memasukkan usernamenya melalui form login. Setelah login berhasil, user
tersebut dihadapkan pada link menu navigasi yang menuju ke beberapa halaman
web. apabila Apabila user memasukkan username maka akan selalu tampil atau
tercatat di halaman-halaman web tersebut, maka username haruslah disimpan dalam
session.
B.
KONSEP DASAR SESSION
Session bekerja seperti tempat
penitipan barang di supermarket. Pembeli datang, menitipkan barang bawaan, dan
petugas akan memberikan tanda pengenal. Pada saat pembeli akan mengambil
barang, pembeli memberikan tanda pada petugas, dan petugas akan dapat mengambil
barang yang dititipkan tanpa tertukar dengan barang orang lain. Permasalahan
yang terjadi adalah, bagaimana “tanda pengenal” tersebut akan disimpan pada
setiap halaman yang diakses user, sehingga dapat diakses oleh sistem setiap
kali user mengklik link. Ada tiga alternatif yang dapat digunakan untuk
menyimpan data session :
- Cookie
- Hidden Form
- URL Embedding
Secara umum, cara kerja session
dapat dideskripsikan seperti Saat pengunjung mengakses suatu halaman,
pengunjung tersebut memulai session (digunakan fungsi session_start()). Bila
dalam konfigurasi php, session.auto_start diset ke 1 maka php akan melakukan
start session secara otomatis.
Pengunjung tadi kemudian diberi
pengenal berupa session id, Session id ini adalah rangkaian karakter yang unik,
misalnya 12345678xx.. Bersamaan dengan itu, pada sisi server juga dibuat file
ses_12345678xx yang berisi variabel-variabel session milik si pengunjung.
Variabel yang diregister dengan fungsi session_register() akan disimpan dalam
file ini.
Metode di atas adalah default.
Tetapi bisa jug menentukan lokasi penampungan variabel session sendiri,
misalnya di database. Saat pengunjung memulai atau melanjutkan session (melalui
session_start()) maka pengunjung mengirim session id miliknya untuk memperoleh
kembali variabel-variabel session miliknya yang telah disimpan di server.
Pengiriman session id ke server
bisa melalui 2 cara. Yang pertama, yaitu cara default, dikirim melalui cookies.
Session id berupa cookie PHPSESSID (default). Ada kalanya dengan alasan
tertentu, pengunjung menonaktifkan cookies (bisa dilakukan melalui setting
browsernya). Bila hal ini terjadi, maka pengiriman session id dilakukan dengan
cara kedua, yaitu melalui query string (string yang ditambahkan ke URL, seperti
contoh di awal artikel).
Session akan berakhir saat fungsi
session_destroy() dipanggil atau sewaktu user menutup web browsernya. Dari cara
kerja session tadi, terlihat bahwa yang menjadi kunci pegangan si pengunjung
(di sisi client) hanyalah variabel session id, sedangkan variabel-variabel lain
miliknya di server. Adanya fasilitas session handling di PHP menjadikan proses
diatas menjadi sederhana dan mudah karena PHP melakukannya otomatis.
C.
PENERAPAN SESSION DI PHP
PHP mempunyai session (catatan
aktivitas) yang digunakan untuk menjaga / memelihara informasi akses dari
seorang pengakses / pemakai aplikasi web. Session memungkinkan pelacakan akses
pemakai, pangaturan pemakaian aplikasi oleh pemakai dan meningkatkan layanan
situs web. 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 dalam URL. Session koneksi antara klien dan server
akan hilang atau putus apabila browser ditutup. Apabila browser dijalankan
kembali dan koneksi ke server dilakukan maka dianggap sebagai koneksi baru.
Contoh Session
<?php
Session_start();
Session_register(“count”);
$count++;
?>
<html> <head> <title>Demo session 1 </title> </head>
<body> <h1> Demo Session 1 </h1>
<? Echo “Anda telah mengakses halaman ini sebanyak : $count kali”; ?>
</body>
</html>
Pertukaran
Variabel antar script
Bila suatu variabel didefinisikan
secara global pada skrip PHP, maka variabel itu memiliki lingkup hanya sebatas
dalam skrip PHP itu saja. Variabel itu tidak dapat diakses dari file PHP lain
dengan cara biasa. Jika menginginkan variabel yang bisa diakses dari banyak
file PHP, diperlukan variabel yang bersifat superglobal.
Untuk itu, variabel harus
dipropagasi atau dikirim ke server terlebih dahulu. Ada beberapa cara untuk
melakukannya. Pertama, variabel tersebut dikirim secara langsung melalui string
yang ditambahkan ke URL, seperti halnya metode GET dalam pengiriman data.
Contoh sederhananya pada URL berikut:
utama.php?halaman=1&userid=100
URL ini akan menuju ke file
utama.php dan pada utama.php akan terdapat variabel $halaman yang bernilai 1
dan variabel $userid bernilai 100.
Cara lain yaitu menggunakan
cookies. Cookies adalah mekanisme penyimpanan data atau variabel di sisi klien
(browser). Dengan menyimpan variabel sebagai cookie, data tersebut akan tetap
ada sampai waktu kadaluarsa yang bisa ditentukan. Cookie biasa dipakai di situs-situs
untuk mengidentifikasi pengunjung yang mengakses situs mereka. Misalnya pada
aplikasi polling, dimana satu pengunjung hanya bisa melakukan vote satu kali
dalam sehari.
Fungsi-fungsi session :
1. session_start(), untuk memulai session.
2. session_destroy(), untuk mengakhiri session.
3. session_id(), untuk mengambil atau menentukan identitas sebuah session (session
id).
4. session_register(), untuk mendaftarkan variabel ke sebuah session.
Fungsi-fungsi session :
1. session_start(), untuk memulai session.
2. session_destroy(), untuk mengakhiri session.
3. session_id(), untuk mengambil atau menentukan identitas sebuah session (session
id).
4. session_register(), untuk mendaftarkan variabel ke sebuah session.
Tidak ada komentar:
Posting Komentar