PHP mempunyai session (catatan aktivitas) yang digunakan
untuk menjaga / memelihara informasi akses dari seorang pengakses / pemakai
aplikasi web. Session memungkinkan pelacakan akses pemakai, pangaturan
pemakaian aplikasi oleh pemakai dan meningkatkan layanan situs web.
Setiap pengunjung akan diberi sebuah id yang unik, yang
disebut dengan id session (session_id). ID ini dapat disimpan dalam suatu
cookie pada sisi user atau disertakan dalam URL.
Session koneksi antara klien dan server akan hilang atau putus
apabila browser ditutup. Apabila browser dijalankan kembali dan koneksi ke
server dilakukan maka dianggap sebagai koneksi baru.
Fungsi-fungsi session :
1. session_start(), untuk memulai session.
2. session_destroy(), untuk mengakhiri session.
3. session_id(), untuk mengambil atau menentukan identitas
sebuah session (session id).
4. session_register(), untuk mendaftarkan variabel ke sebuah
session.
Macam – macam pengaplikasian session.
1. untuk menghitung berapa kali pengunjung
mengakses web kita
<?php
Session_start();
Session_register(“count”);
$count++;
?>
<html>
<head>
<title>Demo session 1
</title>
</head>
<body>
<h1> Demo Session 1
</h1>
<?
Echo “Anda telah mengakses
halaman ini sebanyak : $count
kali”;
?>
</body>
</html>
2. Untuk mereset nilai di session
dan menampilkan no ID session.
<?php
Session_start();
$idsession = session_id();
Session_destroy();
$count++;
?>
<html>
<head>
<title>Demo session – destroy </title>
</head>
<body>
<h1> Demo Session – reset
nilai </h1>
<?
echo “<br> ID Session :
“.$idsession;
echo “<br> Anda mengakses
sever ini sebanyak : “.$count;
?>
</body>
</html>
3. Untuk mengirim nilai dari satu
halaman web ke hal. web berikutnya.
a. Buat form awal dengan nama data.htm
<HTML>
<HEAD>
<TITLE> Form </TITLE>
<SCRIPT
LANGUAGE="JavaScript">
function pesan() {
var ceknama =
document.forms[0].elements[0].value;
var cekumur =
document.forms[0].elements[1].value;
var cekemail =
document.forms[0].elements[2].value;
if (ceknama.length == 0) {
window.alert("Anda belum
memasukkan nama Anda");
} else {
if ((cekumur < 0) ||
(isNaN(cekumur)) || (cekumur.length == 0))
{
window.alert("Input umur
Anda salah");
} else {
if ((cekemail.length == 0) ||
(cekemail.indexOf("@",1) == -1)) {
window.alert("Periksa
kembali alamat email Anda");
} else {
document.forms[0].submit();
}
}
}
}
</SCRIPT>
</HEAD>
<BODY>
<H1> Selamat Datang di Situs Kami </H1>
Silakan isi identitas Anda <BR>
<FORM NAME="identity" METHOD="post" ACTION="proses.php">
<PRE>
Nama : <INPUT TYPE="text" NAME="nama">
Umur : <INPUT TYPE="text" NAME="umur"> tahun
Email : <INPUT TYPE="text" NAME="email">
<INPUT TYPE="button" VALUE="Submit"
onClick=pesan()>
</PRE>
</FORM>
</BODY>
</HTML>
b. Buat file dengan nama
proses.php, untuk menampilkan data dari 3.a menggunakan
session.
<?
session_start();
session_register("nama","umur","email","waktu");
?>
<HTML>
<HEAD>
<TITLE> Proses
</TITLE>
</HEAD>
<BODY>
<?
Echo "<H1> Hallo $nama
</H1>";
?>
<H2> Selamat Datang Di
Situs Kami </H2>
<?
echo "Umur Anda saat ini
adalah ";
echo "$umur tahun
<BR>";
echo "Alamat email Anda
adalah ";
echo "$email
<BR>";
$waktu = date("h:i");
echo "Anda login pada jam
$waktu";
?>
<BR>
<A
HREF="http://localhost/next.php"> Klik di sini </A> untuk
menuju ke halaman berikut.
</BODY>
</HTML>
c. Buat file : next.php, untuk
menampilkan data dari 3.b, bandingkan dengan 3b, di 3c
tidak perlu menuliskan kembali
session_register.
<?
session_start();
?>
<HTML>
<HEAD>
<TITLE> Proses
</TITLE>
</HEAD>
<BODY>
<?
Echo "<H1> Hallo $nama
</H1>";
?>
<H2> Anda memasuki halaman
kedua </H2>
<?
echo "Umur Anda saat ini
adalah ";
echo "$umur tahun
<BR>";
echo "Alamat email Anda
adalah ";
echo "$email
<BR>";
echo "Anda login pada jam
$waktu";
session_destroy();
?>
</BODY>
</HTML>