Bagi yang sering utak-atik skrip PHP tentu tidak asing lagi dengan yang namanya PHP Session. Variabel ini dipakai untuk menyimpan informasi yang berkaitan dengan user yang sedang online. Contohnya adalah saat kita belanja online.

Apa yang kita lakukan saat belanja di situs e-commerce? Melihat-lihat produk yang dipajang dan jika tertarik untuk membelinya lalu memasukkannya ke dalam keranjang belanja. Setelah itu melihat-lihat lagi produk lainnya. Begitu seterusnya. Tentu aktivitas seperti itu yang kita kerjakan.
Nah, informasi yang berkaitan dengan produk yang kita masukkan dalam keranjang belanja tadi disimpan di suatu variabel yang disebut dengan session. Informasi tersebut akan terus ada di server selama kita menjelajahi situs tersebut.
Namun demikian, informasi ini sebenarnya bersifat temporer atau sementara. Artinya jika kita menutup browser, isi variabel tersebut akan dihapus.
Contoh penggunaan lainnya adalah untuk keperluan otentikasi user. Anda tentu pernah memakai layanan email berbasis web bukan? Pada saat proses login ke layanan tersebut, server akan membuat variabel session yang berisi data user yang sedang login. Dengan cara tersebut aplikasi akan selalu mengenali user, meskipun halaman yang diakses berubah-ubah.
Memulai Session
Agar bisa menyimpan data di variabel session, kita perlu memanggil fungsi session_start() terlebih dahulu. Caranya adalah sebagai berikut:
<?php session_start(); ?> <html> <body> </body </html>
Setelah proses di atas dijalankan, selanjutnya kita bisa menyimpan data di variabel session.
Menyimpan dan Mengakses Isi Variabel Session
Contoh 1:
Untuk lebih jelasnya kita akan membuat dua buah halaman web, misalnya pertama.php dan kedua.php. Halaman pertama.php dipakai untuk menyimpan informasi user yang akan ditampilkan di halaman kedua.php.
Source file pertama.php
<?php // pertama.php session_start(); echo '<p>Halaman ini untuk menyimpan data</p>'; $_SESSION['nama_user'] = 'Wahyu Wibowo'; $_SESSION['alamat'] = 'Yogyakarta'; echo '<p>Klik <a href="kedua.php">di sini</a> untuk melihat hasilnya</p>'; ?>
Source file kedua.php
<?php // kedua.php session_start(); echo '<p>Berikut ini informasi tentang Anda: </p>'; echo '<p>Nama Anda : ' . $_SESSION['nama_user'] . '</p>'; echo '<p>Alamat : ' . $_SESSION['alamat'] . '</p>'; ?>
Setelah halaman pertama.php ditampilkan, secara otomatis halaman kedua.php akan terisi data yang tersimpan di variabel session.
Contoh 2:
Misalkan kita ingin menghitung berapa kali kita me-refresh suatu halaman web. Kita bisa menggunakan session dengan cara sebagai berikut:
<?php
session_start();
if (isset($_SESSION['counter'])) // mengecek session
{
$_SESSION['counter'] = $_SESSION['counter'] + 1;
}
else
{
$_SESSION['counter'] = 1;
}
echo 'Anda menampilkan halaman ini sebanyak ' . $_SESSION['counter'] . ' kali.';
?>
Setiap kali kita me-refresh halaman web yang berisi kode program di atas variabel “counter” akan bertambah 1.





hardi | October 24th, 2008 jam 11:24 am
terimakasih banyak atas infonya, bikin tutorial tentang session untuk nambah data barang ke keranjang belanja di situs e-commerce dong
ianhade | November 20th, 2008 jam 12:08 pm
bgs bgt infonya, mas klo bikin keranjang belanja sperti web e-commerse apa pk session jg, gmana caranya ???
fajar | November 27th, 2008 jam 10:08 am
makasih yah atas informasinya
ayom ridwan | December 17th, 2008 jam 11:29 am
kenapa yah sy pakai session kok muncul kaya gini nih :Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at C:\Program Files\xampp\htdocs\haz\layar_koptik.php:2) in C:\Program Files\xampp\htdocs\haz\kedua.php on line 4
Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at C:\Program Files\xampp\htdocs\haz\layar_koptik.php:2) in C:\Program Files\xampp\htdocs\haz\kedua.php on line 4
apa artinya yah mohon pencerahan
trim’s
egy | December 17th, 2008 jam 11:02 pm
finaly, nemu juga tutorial tentang session login yang ngeklop.
thanks ya….!
oh ya mas, aku kepikiran bikin counter web pake cara session bisa ga ya… bikin aja databasenya, hasil refreshan diquery bisa ga ya?, maslahnya ga ngerti euy script-nya…..
Farel | January 11th, 2009 jam 6:32 am
Untuk file pertama.php misal file ini ada disitus http://www.pertama.com/pertama.php, kita kan dah tau nama session nya, terus klo kita pengin nampilin hasil dari session tersebut di situs http://www.tampil.com/show.php , caranya gimana ya mas ?
Thanks
doez | February 15th, 2009 jam 6:11 am
kthx BOS
ismail | February 23rd, 2009 jam 3:57 pm
mas bagaimana caranya saya memanggil variable dengan kode php untuk keperluan mencetak grafik seperti ini misal :
user mengentri namanya pada misal ismail
kemudian saat di submit grafik tercetak dilayar
yang saya pake begini $query=”Select pelajaran,nilai1,nilai2,nilai3 From nilai Where nama=’entri dari user’”;
nah yag saya tanyain itu bagaimana menuliskan variabel pada entri dari user? tolooooong saya buat tugas akhir, kirimkan ke emailku ya….tolooooooooong banget atau hubungi 081911444918 saya akan sangat ‘MENGHARGAINYA’ sudah 2 minggu neh mas belum ketemu…terimakasih sebelumnya
Jawaban:
Submit formnya pakai method POST atau GET? Cara manggil variabelnya $nama = $_POST['nama'] atau $nama = $_GET['nama'].
kelik | January 5th, 2011 jam 10:26 am
Mas, saya mau numpang tanya,,
gimana ya caranya memasukkan session ke dalam perintah sql?
contohnya :
$_SESSION['nama_user'] //ini akan dimasukkan
sql=”SELECT * FROM user WHERE name=$_SESSION['nama_user']“;
tapi script ini blm bisa berhasil..
kira2 cara yang tepat agar perintah sqlnya bisa jalan gimana ya mas? mohon bantuannya…
Wahyu Wibowo | January 17th, 2011 jam 10:34 am
@kelik, coba diubah pakai variabel mungkin bisa.
Contoh:
$name = $_SESSION['nama_user'];
$sql = “SELECT * FROM user WHERE name = ‘” . $name . “‘”;