Anda di halaman 1dari 10

Bagian 7

MENGGUNAKAN SESSION DAN COOKIES

Program PHP memiliki beberapa fungsi yang dapat digunakan untuk


menyimpan data sementara. Data ini akan disimpan dalam sebuah variabel dan
disimpan dalam jangka waktu sementara selama seorang user mengunjungi
website dan selama belum menutup jendela browser. Hal ini sering disebut
cookies dan session. Fungsi cookies dan session ini sering digunakan untuk
mengakses website pada halaman member atau website yang menyediakan
fasilitas belanja online dan fasilitas-fasilitas lain yang berhubungan dengan akses
database oleh anggota terdaftar.
Session
Session sangat bermanfaat untuk website yang memberikan fasilitas terbatas
bagi user yang telah terdaftar sebagai anggota. Data session akan tercipta pada
saat user mengunjungi website dan login pada halaman keanggotaan. Data
session akan otomatis terhapus jika user keluar dari halaman anggota atau
menutup website tersebut.
Membuat Session
Data session tidak akan tercipta secara otomatis. Session diciptakan
dengan menggunakan fungsi session_start() yang berfungsi memanggil
session tersebut. Ada hal yang perlu diperhatikan sebelum menggunakan
fungsi session ini, yaitu path untuk menyimpan data session ini.
Pengaturan lokasi penyimpanan data session terdapat dalam file yang
bernama php. yang ada dala folder c:\windows\. File ini adalah file
konfigurasi untuk modul PHP dalam windows yang tercipta saat modul
PHP diinstal dalam windows. Lokasi penyimpanan data sesion dapat
diatur dalam file ini dengan mengubah data pada bagian berikut ini:
Session.save_path =c:\PHP\sessiondata

40

Hal ini memberikan informasi bahwa data session yang akan digunakan
tersimpan dalam folder session data yang ada dalam direktori PHP.
Bentuk :
Session_Start();
Keterangan :
Fungsisession_start tidak dideklarasikan formatnya.
Contoh:
Berikut ini adalah contoh sederhana menggunakan fungsi session_start():
<?
// Membuat data session
// session1.php
session_start();
?>
<html>
<head>
<title>Menggunakan fungsi session</title>
</head>
<body>
<?
Echo"<br>Selamat dating di halaman session<br>
ID session Anda adalah : ". Session_id();
?>
</body>
</html>

Hasil fungsi session yang ditampilkan adalah data berupa kombinasi


angka dan huruf. Setiap user yang mengunjungi halaman tersebut akan
diberi data session yang berbeda-beda secara acak.
Membuat Session dengan Fungsi Session_Register()
Fungsi session yang dipelajari sebelumnya menghasilkan data session
secara default. Data tersebut tidak dapat dideklarasikan sesuai dengan
keinginan pembuat program. Cara membuat session yang dapat
mendekrasikan sebuah variabel dan isi datanya adalah dengan

41

mengunakan fungsi session_register(). Dengan menggunakan fungsi


session_register() ini, maka data session dan variabel yang dijadikan data
session dapat dibaca di browser.
Bentuk :
Session_Register(string);
Keterangan :

String adalah nama variabel yang datanya akan didaftarkan menjadi


data session.

Contoh :
<?
// Menggunakan fungsi session_register().
// session_register.php
?>
<html>
<head>
<title>Session register</title>
</head>
<body>
<?
if($submit){
session_start();
session_register("nama");
session_register("alamat");
echo"<center>";
echo"Nama Anda adalah <b>$nama</b><br>";
echo"Alamat Anda adalah <b>$alamat</b><br>";
echo"<p align=\"center\"><a href=\"session_register2.php\">Halaman
2</a></p>";
echo"</center>";
}else{
?>
<form method="POST" action="session_register.php">
<p align="center">Nama :&nbsp;&nbsp;&nbsp;
<input type="text" name="nama" size="20"><br>
Alamat :&nbsp; <input type="text" name="alamat" size="20"><br>
<input type="submit" value="LOGIN" name="submit"></p>
</form>

42

<?
}
?>
</body>
</html>

Kode program di atas adalah halaman untuk login dan mendaftarkan


variabel nama dan alamat data session sehingga jika user mengakses
halaman kedua, data session akan tetap tersimpan selama belum menutup
halaman tersebut.
Berikut ini adalah kode program untuk halaman kedua yang menggunakan
fungsi session sehingga data session tersebut dapat dikenali pada halaman
tersebut.
<?
// Halaman dua untuk session register
// session_register2.php
echo"<center>";
session_start();
echo"<br><b>Halaman dua</b><br><br>";
if($nama){
echo"Nama Anda adalah <b>$nama</b><br>";
echo"Alamat Anda adalah <b>$alamat</b><br>";
}else{
echo"<br>Anda belum login!<br> <a href=\"session_register.php\">Klik di sini
untuk LOGIN</a>";
}
echo"</center>";
?>

Jalankan

file

session_register.php

sebagai

halaman

untuk

login

pengunjung website. Isi form yang tersedia dan tekan tombol LOGIN,
maka data dari variabel nama dan alamat akan tersimpan sebagai data
session.
Setelah Anda tekan tombol LOGIN, maka akan tampil halaman anggota
yang menampilkan nama, alamat, dan link menuju halaman 2. Klik link ke

43

halaman dua, maka data nama dan alamat akan tetap tersimpan dan dapat
ditampilkan pada halaman 2.
Pada halaman 2 pun data nama dan alamat akan tetap dapat ditampilkan.
Mengecek Hasil Registrasi
Pada sebuah halaman website yang hanya mengujinkan user anggota saja
yang dapat mengakses, dibutuhkan program yang berfungsi memeriksa
apakah pengunjung sudah login atau belum. Untuk memeriksa variabel
session, Anda dapat menggunakan fungsi session_is_registerd(). Fungsi
ini bernilai True, jika session terregistrasi dan sebaliknya akan bernilai
False, jika session belum terregistrasi.
Bentuk :
Session_is_Registered(String);
Keterangan :

String adalah nama variabel yang datanya akan didaftarkan menjadi


data session.

Contoh :
Berikut ini adalah kode program yang berfungsi memeriksa user yang
belum login:
<?
// Cek variabel session
// cek_session.php
session_start();
if(!session_is_registered("nama")){
echo"<br><center>Anda belum login, tidak dapat mengakses halaman ini.";
echo"<br><a href=\"session_register.php\"> Klik disini untuk login</a>";
exit;
}
?>

44

Menghapus Variabel Session


Untuk menghapus atau mengakhiri sebuah session, Anda dapat
menggunakan fungsi Session_Destroy(). Untuk menghapus semua
variabel yang telah teregistrasi, Anda dapat menggunakan fungsi
Session_Unset(). Fungsi ini menghapus semua variabel dan file-file yang
ada di direktori session data. Susunan yang benar untuk menghapus
session data adalah fungsi Session_Unset(), kemudian diikuti fungsi
Session_Destroy().
Bentuk :
Session_Destroy(String);
Session_Unset();
Keterangan :

String adalah nama variabel yang datanya akan didaftarkan menjadi


data session.

Fungsi session_unset tidak dideklarasikan formatnya.

Contoh :
Sebagai contoh, program untuk menghapus data session adalah sebagai
berikut :
<?
// Menghapus semua variabel session.
// hapus_session.php
session_start();
session_unset();
session_destroy();
echo"Session telah terhapus.<br>";
echo"ID session aktif adalah : ".session_id();
?>

Cookies
Cookies adalah mekanisme penyimpanan sebuah data variabel pada browser
user. Pada dasarnya cookies hampir sama dengan session. Akan tetapi, dengan

45

fungsi cookies Anda dapat mengatur berapa lama waktu untuk menyimpan
variabel data tersebut pada browser user hingga data cookies tersebut terhapus
secara otomatis.
Membuat Cookies
Cookies adalah bagian dari HTTP header sehingga cookies harus
dideklarasikan sebelum program mengirim output apapun ke browser
pengunjung.
Bentuk :
Setcookies()
Keterangan :

Fungsi cookies tidak dideklarasikan formatnya..

Contoh :
Berikut ini adalah contoh pembuatan cookies :
<?
// Contoh pembuatan cookies.
// cookies1.php
if($submit){
setcookie("nama","$nama");
setcookie("email","$email");
echo"<html>
<head>
<title>Cookies</title>
</head>
<body>
<p align=\"center\"><b>Cookies telah diset:</b></p>
<p align=\"center\">Nama : <b>$nama</b></p>
<p align=\"center\">Email : <b>$email</b></p>
<p align=\"center\"><a href=\"cookies2.php\">Halaman dua</a></p>";
}else{
?>
<form method="POST" action="cookies1.php">
<p align="center">Nama : <input type="text" name="nama"
size="31"></p>
<p align="center">Email : <input type="text" name="email"
size="32"></p>

46

<p align="center"><input type="submit" value="LOGIN"


name="submit"></p>
<p>&nbsp;</p>
</form>
<?
}
?>
</body>
</html>

Selanjutnya, buat juga skrip untuk halaman 2 untuk redirect (tujuan link
selanjutnya) dari halaman 1 seperti pada kode program di bawah ini:
<?
// Contoh pembuatan cookies.
// cookies2.php
echo"<br><p align=\"center\"><b>Halaman Dua:</b></p>
<p align=\"center\">Nama : <b>$nama</b></p>
<p align=\"center\">Email : <b>$email</b></p>";
?>

Lakukan pengujian terhadap skrip anda dengan menjalan pada browser.


Lengkapi form login dengan mengisi Nama dan Email selanjutnya klik
pada tombol Login. Maka variabel nama dan email yang anda masukkan
akan diset menjadi variabel cookies.
Hasilnya adalah data variabel nama dan email yang akan ditampilkan pada
browser. Selain itu, ditampilkan juga sebuah link untuk mengakses
halaman Kedua.
Apabila membuka halaman Dua, maka data dan variabel nama dan email
akan tetap dideklarasikan karena kedua variabel tersebut sudah diset
sebagai variabel cookies. Variabel nama dan email tetap ditampilkan
selama pengunjung belum menutup browser tersebut.
Set Cookies dengan Batas Waktu
Dalam pembuatan sebuah data cookies dapat dideklarasikan juga cookies
expire atau batas waktu data cookies aktif. Dengan menggunakan batas

47

waktu ini, data cookies tidak akan terhapus walaupun browser ditutup
sampai batas waktu cookies tersebut habis. Untuk menentukan batas
waktu cookies tersebut, Anda dapat menggunakan fungsi Time() +
Waktu. Dalam hal ini, waktu dideklarasikan dalam satuan detik. Sebagai
contoh, Anda ingin membuat data cookies dalam batas waktu hanya 1
jam, maka gunakan bentuk penulisan program berikut:
Setcookies(nama_cookies,$nilai,time()+3600);
Untuk lebih jelasnya, perhatikan contoh kode program membuat cookies
dengan batas waktu berikut:
<?
// Mengaktifkan waktu cookies.
//batas_cookies.php
setcookie("tescookies","priyo",time()+3600);
?>
<html>
<head>
<title>Cookies dengan batas waktu</title>
</head>
<body>
<?
if(isset($tescookies)){
echo"<br>Nilai dari cookies anda adalah $tescookies";
}else{
echo"<br>Anda baru pertama kali berkunjung";
}
?>
</body>
</html>

Menghapus Cookies
Sebagaimana dijelaskan di atas bahwa cookies akan secara otomatis
terhapus jika browser ditutup, namun apabila batas waktu cookies
dideklarasikan, maka data cookies akan tetap ada selama batas waktu
masih berlaku.

48

Jika ingin menghapus data cookies, Anda cukup membuat cookies dengan
nilai kosong pada cookies tersebut. Setelah menjalankan cookies tersebut,
data cookies masih akan ditampilkan, namun setelah direfresh data
cookies akan terhapus.
Berikut ini adalah contoh kode program untuk menghapus data cookies:
<?
// Mengaktifkan waktu cooies.
//hapus_cookies.php
setcookie("tescookies","");
?>
<html>
<head>
<title>Hapus cookies</title>
</head>
<body>
<?
echo"<br><b>Hapus Cookies</b>";
echo"<br>Nilai dari cookies anda adalah $tescookies";
?>
</body>
</html>

Ketika program diatas dijalankan data cookies sebelumnya masih


ditampilkan. Menghapus cookies dapat dilakukan dengan menggunakan
refresh atau menjalankan kembali program hapus_cookies.php.

49

Anda mungkin juga menyukai