Baca Juga
Menggunakan Session dan Cookies untuk halaman login
Session dan Cookies boleh dibilang merupakan sesuatu yang sangat penting dalam pembagian hak akses, antara user yang belum login, dengan user yang sudah login... dalam wordpress misalnya, cuma user yang sudah login saja yang bisa memposting artikel, namun user yang belum login tidak bisa melakukannya. Contoh yang lain...
Misalkan dalam forum, anda tidak diperkenankan membuat thread baru jika anda belum melakukan login, mungkin contoh yang lainnya, anda tidak bisa membuat wall status baru jika anda belum login ke facebook anda.
Semua berhubungan dengan login, namun apa yang berada di balik kode-kode login tersebut, hampir semua login pada aplikasi web atau website itu menggunakan session dan cookies untuk membedakan kondisi user yang sudah login dan belum login, namun sebelum mengetahui lebih lanjut, saya akan coba jelaskan terlebih dahulu apa itu session dan apa itu cookies...
Session
Session merupakan variable global yang jika diregistrasikan atau didefinisikan maka variable tersebut dapat di akses di halaman manapun. ketika kita meregistrasikan session, maka php akan kepada browser untuk menyimpan session yang ada, sehingga session disimpan oleh browser sementara mirip dengan pengandaian sebuah tiket masuk. setiap halaman php yang membutuhkan adanya login akan mengecek apakah variable sessionnya sudah diregistrasikan. jika sudah maka, halaman php tersebut akan mempersilahkan user dapat mengaksesnya...
Oke, karena session memiliki tugas khusus dan session bertugas sebagai variable global yang dapat di akses di halaman mana saja, sehingga session pun membutuhkan fungsi tersendiri untuk dapat menjalankannya.
Standarnya membuat session adalah seperti ini :
<?php
// fungsinya terlebih dahulu
session_start();
// dan standarnya setiap session_start digunakan
// dan ketika user mengakses halaman tersebut biasanya memiliki
// session_id tersendiri kita tes
echo session_id();
// session_id(() akan selalu berbeda setiap anda menjalankan browser
?>
Kita akan buat 2 buah file, file pertama digunakan untuk meregistrasikan/mengeset session, file yang kedua berguna sebagai halaman untuk mengetes apakah sessionnya telah berfungsi dengan benar, jika benar maka file yang kedua itu dapat menampilkan isi dari session yang sebelumnya telah diregistrasikan pada halaman pertama ...
<?php
// untuk membuat session, diperlukan fungsi khusus yang dapat
// memproduksi session
// yakni, dan jangan lupa untuk meletakkan sessio_start di baris paling
// awal setelah <?php
session_start();
$_SESSION['first'] = "saya adalah session";
echo "Anda telah meregistrasikan session berisi '<strong>". $_SESSION['first'] .
"</strong>'";
session_destroy();
?>
<br />
<a href="other_page.php">klik di sini untuk pindah halaman</a>
kemudian file selanjutnya other_page.php :
<?php
session_start();
echo "Anda telah membuat session di halaman sebelumnya, berisi '<strong>" .
$_SESSION['first']."</strong>'";
session_destroy();
?>
Kita coba tes di browser. Begitu juga jika anda ingin mengakses session yang telah
dibuat pada halaman lain. Misalkan kita buat satu buah file sembarang yang file ini
juga di coba untuk mengakses. Kita beri nama file tersebut misalnya random.php
<?php
// jangan lupa untuk memasukkan fungsi session_start setiap akan
// meregistrasi atau mengakses session
session_start();
// kita coba akses variable session yang telah di set
echo "isi dari session yang aktif ".$_SESSION['first'];
?>
Menghapus atau menonaktifkan Session
Ada satu pertanyaan bagaimana caranya untuk menonaktifkan atau menghilangkan session yang telah dibuat :
<?php
session_start();
unset($_SESSION['first']);
echo "Isi '$_SESSION[first]' adalah ... = " . $_SESSION['first'];
// jika ingin memusnahkan semua session yang ada
// anda dapat menggunakan session_destroy
// biasanya hal ini digunakan ketika proses logout terjadi
// semua session yang ada benar-benar di hapus
// penggunaanya adalah seperti ini
session_destroy();
echo "<br />Semua session telah di hapus ...";
?>
Cookie
Jika session itu akan berakhir ketika browser ditutup, namun jika cookie itu akan berakhir pada waktu yang ditentukan oleh web developer sebelumnya.
Contoh penggunaan cookie adalah seperti ini :
// pertama kita buat terlebih dulu file cookie1.php
<?php
// lalu di sini kita siapkan variable untuk cookienya
$isicookie = "ini adalah isi dari cookie";
// kemudian kita buat cookienya dengan lama waktu 1 jam misalnya ...
// di hitung dengan menggunakan satuan waktu detik
setcookie("cookie1", $isicookie, time()+3600);
// untuk dapat mengakses cookie anda dapat menggunakan sintax
echo $_COOKIE["cookie1"];
?>
Dan misalkan kita ingin mengakses cookie di halaman yang lain juga bisa, kita buat halaman lain untuk mengakses cookie :
<?php
// kemudian langsung akses variable cookienya
echo $_COOKIE["cookie1"];
?>
Begitu jika ingin menghapus atau menghilangkan cookie yang ada, kita buat satu
buah file lagi deletecookie.php
<?php
// hapus cookie yang ada dengan unset
unset($_COOKIE['cookie1']);
echo $_COOKIE['cookie1'];
?>
Bagian 24. Membuat Autentikasi Login dengan Session dan Cookies
Reviewed by Akief Takaful
on
3:59 AM
Rating:

No comments: