Senin, 28 Maret 2016

Session & Cookies

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 sessionberada 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 sesuatu halaman. Misalnya saja, untuk melihat halaman kotak surat pada email, kamu harus login terlebih dulu. Dalam proses login antara lain akan terjadi pembuatan suatu session yang akan dibawa oleh user disetiap 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 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.
 Menciptakan Session

Hasilnya 
Penjelasan 
          Pada program di atas terdapat fungsi session_start()  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.
          Selanjutnya, sesion1 akan menampilkan sebuah form login sederhana di layar. Form terdiri dari form inputan username, password dan sebuah tombol login. Jika tombol login ditekan maka pemeriksaan kondisi pada bernilai TRUE dan perintah yang ada di blok if akan dieksekusi.merupakan perintah untuk mengambil nilai pada form inputan username dan password. Nilai username dan password.
          Pemeriksaan username dan password ini, untuk aplikasi web yang sudah menggunakan database , bisa di ganti dengan pemeriksaan username dan password ke table database.
  $_SESSION['login'] = $user;
Baris perintah tersebut merupakan perintah untuk membuat session baru (createsession) dimana nama session adalah “login” dan isi dari session adalah $user. $_SESSION merupakan sebuah variabel array global yang didefinisikan oleh PHP, jadi variabel ini harus ditulis dengan huruf kapital (upper-case).
Selanjutnya, pada baris 18-20 akan ditampilkan pesan bahwa login berhasil
dan juga sebuah link menuju ke halaman pemeriksaan session2.

Pemeriksaan Session
 Hasilnya
Penjelasan 
Pemanggilan fungsi session_start().
           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 akan dieksekusi, dan sebaliknya, jika FALSE maka blok program yang akan dijalankan. Blok program 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() digunakan untuk menampilkan suatu pesan sekaligus men-terminate program, artinya perintah selain die() akan diabaikan.
Menghapus Session 
 Hasilnya
 Penjelasan
          Program di atas 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. Ketiga session itu akan selalu berhubungan terus menerus.
 Cookies
          Seperti halnya session, cookies juga merupakan sebuah konsep penyimpanan informasi user. Hanya saja, jika session tempat penyimpanan berada di server, cookies berada di client. Oleh karena itu, konsep cookies sebaiknya jangan digunakan untuk menyimpan informasi login user seperti username, password dsb. Selain user bisa melihat informasi yang disimpan, user juga bisa men-disable cookies itu sendiri. Jika cookies di-disable, maka program yang memanfaatkan cookies tentunya tidak akan berjalan dengan baik. Cookies sendiri biasanya dipakai dalam aplikasi shooping cart. Biasa digunakan untuk menyimpan sementara, produk-produk yang dipilih oleh pengunjung pada saat berbelanja.
          Dalam penanganan cookies juga terdapat beberapa proses yang perlu diperhatikan :
  • Proses pembuatan cookies
  • Proses pemeriksaan cookies
  • Proses penghapusan cookie
 Membuat Cookies
 Hasilnya
Pemeriksaan Cookies
 Hasilnya
Penghapusan Cookies
 Hasilnya
Semoga bermanfaat, maaf jika postingan saya kurang lengkap atau ada salah. Jika ada yang kurang jelas silahkan tinggalkan komentar. . . :D
Share:

0 komentar:

Posting Komentar