Halo semua sahabat blog
Belajar Pintar PHP, pada awal februari ini saya ingin membagikan kepada anda sebuah ilmu yang sangat penting dan wajib anda kuasai jika anda ingin menjadi
web developer, kali ini kita akan membahas
cara membuat autentikasi dengan fungsi PHP yaitu Session.
Apa itu session dan apa kegunaannya ? tentu anda yang belum paham akan berpikir demikian. Baiklah, secara garis besar dapat kita simpulkan bahwa
session pada
php pada umumnya digunakan dalam
membuat halaman login dan logout, baik itu member maupun admin, dan untuk lebih jelasnya, mari kita bahas satu persatu.
1. Pendahuluan
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.
2. Cara Membuat atau Register atau mendaftarkan Session
Cara membuat session adalah sebagai berikut :
- Deklarasi awal kalau kita menggunakan session, yaitu menggunakan fungsi session_start()
- 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 atas3. 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.phpDi 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...!!
4. 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.
Saran saya sebagai admin blog ini, agar anda cepat dan dapat dengan mudah mengerti apa itu
fungsi session pada php, coba anda ulangi langkah yang saya anjurkan tadi berulang-ulang hingga anda dapat mengerti apa sebenarnya session itu. Sekian untuk kali ini, jangan lupa share dan komentnya.