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 ...
file pertama, session_reg_first.php :
<?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'];
?>
Untuk ebook lengkap belajar PHP silahkan anda download disini dan untuk pendukung buat latihan ngoprek-ngoprek PHP bisa di download disini
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 ...
file pertama, session_reg_first.php :
<?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'];
?>
0 komentar:
Post a Comment