olaf thon Level 7
Jumlah posting : 320 Points : 536 Join date : 15.03.10 Age : 33 Lokasi : Padang
| Subyek: sedikit tentang SESSION Tue 14 Dec 2010, 10:35 am | |
| - 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 user memasukkan username maka akan selalu tampil atau tercatat di halaman-halaman web tersebut, maka username haruslah disimpan dalam session.
- 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.
Jadi, session merupakan hal yang cukup penting dalam aplikasi berbasis web. Dengan session memungkinkan programmer menyimpan informasi user secara semi-permanen, artinya selama masa tertentu informasi akan tersimpan. Penyimpanan isi variabel session berada di server, jadi tidak bisa diakses secara langsung oleh client.
Dalam aplikasi berbasis web, session banyak digunakan sebagai autentifikasi login. Dengan session memungkinkan programmer mengatur siapa saja yang bisa mengakses suatu halaman. Misalnya saja, untuk melihat halaman kotak surat pada email, kita harus login terlebih dahulu. Dalam proses login antara lain akan terjadi pembuatan suatu session yang akan dibawa oleh user di setiap halaman. Di halaman kotak surat, session tersebut akan diperiksa. Jika session benar maka user dipersilahkan membuka halaman kotak surat, namun jika salah maka user tidak bisa membuka halaman kotak surat dan biasanya akan diminta untuk login terlebih dahulu. Itulah sebabnya, user tidak bisa mengakses halaman kotak surat secara langsung tanpa melakukan login.
Dalam penanganan session terdapat beberapa proses yang perlu diperhatikan : • Proses pembuatan session • Proses pemeriksaan session • Proses penghapusan session
- Perintah- perintah dalam session
Berikut ini adalah perintah-perintah yang terdapat dalam session : 1. Session_start(), berfungsi untuk memulai / mengaktifkan session. 2. Session_register(), berfungsi untuk mendaftarkan suatu variable ke dalam session. Parameter dari fungsi ini adalah nama variable yang akan disimpan di session. 3. Session_unregister(), berfungsi untuk menghapus suatu variable yang disimpan di session. 4. Session_is_registered(), berfungsi untuk memeriksa apakah suatu variable ada / terdaftar dalam session. 5. Session_unset(), berfungsi untuk menghapus semua variable yang terdaftar dalam session. 6. Session_destroy(), berfungsi untuk menutup / menghapus session beserta file sessionnya.
| |
|