Session Pada Login
APA ITU SESSION?
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.
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
Selanjutnya bagaimana session itu sendiri dijalankan? Agar proses penyimpanan dalam session berjalan, PHP melakukan beberapa hal berikut ini :
1. PHP meng-generate (membentuk) sebuah ID session. ID session ini merupakan sejumlah deret angka random yang unik untuk setiap user dan hampir tidak mungkin bisa ditebak. ID session disimpan oleh PHP di dalam variabel sistem PHP dengan nama PHPSESSID
2. PHP menyimpan nilai yang akan Anda simpan dalam session di dalam file
yang berada di server.
Nama file tempat penyimpanan session tersebut sesuai (sama) dengan ID
session. File disimpan dalam suatu direktori yang ditunjukkan oleh session.save_path dalam file php.ini.
3. PHP melempar ID session ke setiap halaman.
4. PHP mengambil nilai session dari file session untuk setiap halaman session.
diperhatikan :
ƒ Proses pembuatan session
ƒ Proses pemeriksaan session
ƒ Proses penghapusan session
Selanjutnya bagaimana session itu sendiri dijalankan? Agar proses penyimpanan dalam session berjalan, PHP melakukan beberapa hal berikut ini :
1. PHP meng-generate (membentuk) sebuah ID session. ID session ini merupakan sejumlah deret angka random yang unik untuk setiap user dan hampir tidak mungkin bisa ditebak. ID session disimpan oleh PHP di dalam variabel sistem PHP dengan nama PHPSESSID
2. PHP menyimpan nilai yang akan Anda simpan dalam session di dalam file
yang berada di server.
Nama file tempat penyimpanan session tersebut sesuai (sama) dengan ID
session. File disimpan dalam suatu direktori yang ditunjukkan oleh session.save_path dalam file php.ini.
3. PHP melempar ID session ke setiap halaman.
4. PHP mengambil nilai session dari file session untuk setiap halaman session.
Ini script yang saya buat:
Nama file: sessioncoba1.php
Deskripsi: Program Menciptakan session.
Penjelasan:
Pada program di atas terdapat fungsi session_start() yang berada padabaris ke-9. Fungsi session_start() berfungsi untuk memulai sebuah session.
Fungsi harus dipanggil pertama kali dalam suatu halaman PHP, artinya fungsi
session_start() harus dipanggil sebelum sesuatu tampil di layar, walaupun hal itu hanya berupa spasi.
Ini script yang saya buat:
Nama file: sessioncoba02.php
Deskripsi: Program pemeriksaan session.
Penjelasan:
Program 9.2 di atas diawali dengan pemanggilan fungsi session_start().Hal ini berarti dalam halaman program ini terdapat operasi session. Pada baris 10 program di atas, terdapat pemeriksaan keberadaan variabel $_SESSION[‘login’] dengan menggunakan fungsi isset(). Pemeriksaan kondisi ini akan bernilai TRUE jika $_SESSION[‘login’] sudah terbentuk. Jika bernilai TRUE maka blok program baris 11-14 yang akan dieksekusi, dan sebaliknya, jika FALSE maka blok program baris 16-17 yang akan dijalankan. Blok program baris 11-14 hanya bisa diakses saat user sudah login dengan benar. Dengan kata lain, bagian tersebut merupakan bagian yang bersifat private (terbatas). Untuk menampilkan isi variabel session dapat dilakukan seperti pada baris 12 program di atas. Cukup dengan meng-echo variabel $_SESSION[‘login’].
Jika user belum login (tidak melewati halaman login) atau langsung
mengakses halaman ini, maka akan ditampilkan pesan bahwa user tidak berhak
masuk ke halaman ini. Fungsi die() pada baris 17 digunakan untuk menampilkan suatu pesan sekaligus men-terminate program, artinya perintah selain die() akan diabaikan.
Ini script yang saya buat:
Nama file: sessioncoba03.php
Deskripsi: Program menghapus session.
Program 9.3 merupakan contoh program penghapusan session.
Penghapusan session biasanya digunakan ketika user melalukan logout. Proses
penghapusan session dilakukan dengan memanggil fungsi unset() dan fungsi
session_destroy(). Fungsi unset() digunakan untuk menghapus atau menghilangkan suatu variabel. Sedangkan session_destroy() digunakan untuk
menghapus semua data yang berhubungan dengan session tersebut.
Demikian
yang bisa saya bagikan hari ini, semoga bermanfaat untuk semuanya.
Apabila ada kesalahan dalam pengetikkan dalam postingan ini,
saya mohon maaf.
Sekian & Terima Kasih..
0 comments:
Post a Comment