Session PHP

Autentikasi adalah suatu mekanisme untuk mengatur hak akses suatu halaman web, biasanya diawali dengan adanya proses login. Dimana user diminta menginput user id dan password. Jika berhasil login anda atau user berhak masuk ke suatu halaman, dan jika tidak, anda atau user tidak akan bisa masuk ke halaman tersebut.

Session adalah sebuah varibel sementara yang diletakkan di server. Di mana PHP bisa mengambil nilai yang tersimpan di server walaupun kita membuka halaman baru. Biasanya session akan hilang jika anda menutup browser. 
Contoh penggunaan session yang dapat kita lihat dan alami adalah pada proses login facebook, sebenarnya diwaktu anda mengetikkan email anda dan password anda ketika login pada facebook, pertama-tama alamat email dan password anda akan dicek atau dicocokkan oleh facebook dengan alamat email yang tersimpan dalam database facebook, dan jika alamat email dan password anda ditemukan dalam database facebook maka program facebook ini akan menyimpan alamat email dan password anda pada server atau agar anda lebih mengerti, sifacebook akan menyimpannya didalam browser yang anda gunakan baik itu Firefox maupun Google Chrome. Makanya diwaktu kita menutup atau meng-close browser kita dan kita menjalankan kembali browser tersebut akan muncul lagi halaman login. Kenap demikian ? padahal kita sebelumnya sudah melakukan proses login, mungkin dari antara anda semua bertanya demikan, jawabanya adalah karena fungsi yang digunakan pada halaman login facebook adalah fungsi Session tadi, dimana seperti yang saya katakan tadi jika browser ditutup atau diclose, maka session yang didaftarkan tadi akan hilang, dan oleh karena itu maka halaman login facebook tadi nongol lagi. Oke, untuk lebih jelasnya mari kita bahas dibawah ini. 

Cara Membuat atau Register atau mendaftarkan Session

Cara membuat session adalah sebagai berikut :
  1. Deklarasi awal kalau kita menggunakan session, yaitu menggunakan fungsisession_start()
  2. Set suatu nilai ke variabel $_SESSION
Sebagai contoh, buat suatu halaman php dengan nama "halaman1.php" lalu ketik atau copy script php dibawah ini kedalamnya. 

halaman1.php

<?php
session_start();
 
$_SESSION['namauser'] = "ivan";//session yang akan didaftarkan 
//atau disimpan pada server
 
echo $_SESSION['namauser'];
 
echo "<a href='halaman2.php'>Ke Halaman 2</a>";
?>

Catatan:

  • Script Session_start() harus diletakkan pada baris code nomor satu pada editor yang anda gunakan. 
  • Kode session_start() harus diletakkan sebelum ada output apapun walaupun hanya spasi, jadi sebaikanya selalu letakkan di bagian paling atas

Cara Mengecek Session Telah Teregister atau terdaftar

Setelah kita me-registerkan variabel $_SESSION seperti yang kita lakukan pada "halaman1.php" tadi, maka untuk mengecek apakah session telah diregister adalah dengan menggunakan fungsi isset().
Pada contoh di atas (halaman1.php), setelah kita me-register $_SESSION['namauser'], kita akan ke halaman2.php
Di halaman2.php kita akan cek apakah variabel session telah di register, jika belum kita stop membuka isi halaman2.php

Sekarang mari kita buat halaman php dengan nama "halaman2.php" lalu tempatkan script php dibawah ini kedalamnya : 

halaman2.php

<?php
session_start();
 
if(!isset($_SESSION['namauser'])){
    //jika session belum di set/register
    die("Anda belum register atau mendaftarkan session");
}
 
//jika sudah register kita lanjut dengan mencetak tulisan
?>
<h2>Selamat Datang</h2>
 
<?php
echo $_SESSION['namauser'];
?>
Untuk melihat efeknya antara variabel $_SESSION sudah diregister atau belum, coba anda tutup browser, lalu buka lagi browsernya, langsung buka halaman halaman2.php. Tanpa membuka halaman1.php terlebih dahulu, lalu lihat hasilnya, jika sudah sekarang coba anda jalankan "halaman1.php" dan kemudian jalankan "halaman2.php" , maka lihat hasilnya dan perbedaanya. Saran saya, lakukan hal yang sama berulang-ulang seperti langkah yang saya sebutkan diatas dan rubah tulisan "ivan" pada "halaman1.php" tadi dengan nama anda atau nama apa saja, dan lihat hasilnya sekaligus perbedaanya hingga anda dapat mengerti apa itu session. Oke...!! 

 Cara Un-Register Session (Log Out)

Setelah kita belajar me-register session, maka cara un-register session adalah dengan menggunakan fungsi unset() , script ini sama halnya dengan membuat logout pada halaman website, namun ini masih contoh kecil dan masih bisa anda kembangkan sesuai dengan kebutuhan anda. Dan untuk membuatnya mari kita buat lagi halaman php dengan nama "logout.php" lalu copy kan script dibawah ini kedalamnya:

logout.php
<?php
session_start();
 
unset($_SESSION['namauser']);
?>
Jika sudah, maka coba jalankan halaman yang anda buat tadi secara berurutan, pertama coba anda jalankan "halaman1.php" , jika sudah lalu jalankan "halaman2.php" dan lihat tulisan yang mucul pada halamn browser anda, jika anda sudah melihatnya lalu jalankan halaman "logout.php" dan jika semuanya sudah selesai anda jalankan sesuai urutan yang saya katakan, maka refresh atau reload "halaman2.php" tadi dan lihat perbedaannya. 

Share on Google Plus

About Elmirakom

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment