SlideShare a Scribd company logo
1 of 14
Download to read offline
TUGAS PEMROGRAMAN BERBASIS WEB
PENGGUNAAN SESSION DALAM PHP
Hanni Febrina
09071003040
Sistem Informasi 6-B
FAKULTAS ILMU KOMPUTER
UNIVERSITAS SRIWIJAYA
2009
1
1DAFTAR ISI
Halaman
Cover
...........................................................................................................................
1
Daftar Isi
...........................................................................................................................
2
Pendahuluan
...........................................................................................................................
3
Contoh Script PHP
...........................................................................................................................
3
Cara Membuat Session PHP
...........................................................................................................................
7
Contoh Penggunaan Session PHP
...........................................................................................................................
10
Kesimpulan dalam pengunaan Sesion PHP
...........................................................................................................................
12
Keterangan
...........................................................................................................................
13
Referensi
2
...........................................................................................................................
14
PENGGUNAAN SESSION DALAM PHP
Pendahuluan
Session merupakan sebuah metode yang dapat melewatkan suatu variable
meskipun berbeda halaman. Session yang diregisterkan akan tetap ada sampai si user
menutup browsernya.
Contoh Script PHP
Membuat satu halaman dengan nama session.php kemudian registerkan sebuah variable :
<?php
session_start();
3
$_SESSION[’lewat’] = 1;
?>
Kemudian buat sebuah file lagi dengan nama anotherpage.php :
<?php
session_start();
echo $_SESSION[’lewat’] ;
?>
Anda buka halaman session.php terlebih dahulu, selanjutnya buka halaman
anotherpage.php. Hasilnya :
1
Ini terjadi karena dalam file session.php telah diregisterkan sebuah variable session
dengan nama lewat. Seperti pada baris ini
$_SESSION[’lewat’] = 1;
Variable session ini berlaku untuk semua halaman yang ada karena sifatnya yang global.
Untuk men-set sebuah variable session dapat menggunakan cara yang lain :
$lewat = 1 ;
session_register(’lewat’);
untuk mengakses session yang telah diregister tersebut cukup dengan :
echo $_SESSION[’lewat’];
Jika browser di tutup, lalu buka kembali halaman anotherpage.php. maka tidak ada yang
ditampilkan karena secara otomatis sebuah session akan dibuang ketika browser diclose.
Untuk membuang atau mendelete sebuah session, cukup dengan menggunakan fungsi
session_unset(’namasession’);
4
Contohnya :
session_unset($_SESSION[’lewat’]);
Untuk membuang semua session yang ada cukup dengan menggunakan fungsi
session_destroy(); ini adalah fungsi kebalikan dari session_start();
Contoh implementasi yang lebih kompleks dari penggunaan session ini, penulis akan
membuat sebuah script login, yang nantinya jika si user melakukan login dengan benar,
maka dibolehkan untuk mengakses halaman yang berbeda sekalipun.
Namun persiapkan terlebih dahulu script-script yang dibutuhkan.
File login.html :
<html>
<head><title>Halaman Login…</title></head>
<body>
<form action=”cek.php” method=”POST”>
<table>
<tr><td>username : </td><td><input type=”text” name=”username”></td></tr>
<tr><td>password : </td><td><input type=”password” name=”password”></td></tr>
<tr><td></td><td><input type=”submit” name=”submit” value=”Login”></td></tr>
</table>
Kemudian file cek.php :
<?php
session_start();
if(!empty($_POST[’username’]) && !empty($_POST[’password’]))
{
if ($_POST[’username’] == “admin” && $_POST[’password’] == “admin”)
{
$_SESSION[’userlogin’] = 1 ;
5
echo “Selamat Datang Admin”;
echo “<br><a href=edit.php>Edit Database … </a>”;
echo “<br><a href=logout.php>Logout … </a>”;
}
else
{
header(”location: login.html”);
}
}
?>
Selanjutnya file edit.php, file ini mencontohkan sebuah halaman yang dapat diakses
ketika user telah login dengan benar, dan sebuah session yang menjadi kunci telah
diregister dan diterima :
<?php
session_start();
if (ISSET($_SESSION[’userlogin’]))
{
echo “Silahkan mengedit database … “;
echo “<br><a href=logout.php>Logout … </a>”;
}
else
{
echo(”Anda tidak berhak untuk mengakses halaman ini … “);
}
?>
Yang terakhir adalah file logout.php :
6
<?php
session_start();
session_destroy();
header(”location: login.html”);
?>
Username dan password yang berasal dari halaman login.html akan diperiksa terlebih
dahulu oleh file cek.php, terlihat di sini
Jika username dan passwordnya diisi oleh user …
if(!empty($_POST[’username’]) && !empty($_POST[’password’]))
{
Dan jika username dan passwordnya cocok …
if ($_POST[’username’] == “admin” && $_POST[’password’] == “admin”)
{
Register sebuah variable session …
$_SESSION[’userlogin’] = 1 ;
….
Jika tidak …
else
{
User diperintahkan untuk melakukan login ulang …
header(”location: login.html”);
}
}
Kemudian dalam file edit.php dijelaskan bahwa,
7
halaman tersebut dapat diakses dengan syarat variable $_SESSION[’userlogin’] telah di
register…
…
if (ISSET($_SESSION[’userlogin’]))
{
…
Script ini dapat dikembangkan lebih jauh. Dan perlu dicatat, session tentunya sangat
bermanfaat sekali, tidak terpatok hanya untuk sekuriti pada sebuah halaman saja, namun
dalam bentuk yang lain tentunya. Ini tergantung dari kreatifitas anda dalam menggunakan
session. Selamat mencoba. Selamat Mengembangkan. Dan selamat berbuka puasa pada
waktunya nanti
Cara Membuat Session dalam PHP
Ada beberapa cara yang dapat dilakukan untuk memulai sebuah session. Yang
pertama adalah dengan menetapkan nilai session.auto_start di php.ini menjadi 1 atau on.
Dengan demikian maka setiap sebuah aplikasi yang dibangun dengan PHP diakses,
seketika itu pulalah sebuah session akan otomatis "aktif". Namun sekalipun cara ini tidak
salah, tetapi amat sangat tidak dianjurkan. Mengapa? Karena secara default nilai
session.auto_start di php.ini adalah 0 atau off. Anda memang bisa mengedit php.ini di
komputer Anda, akan tetapi bila suatu ketika Anda harus melakukan web hosting di
tempat lain, Anda tentu tidak berhak mengubah file php.ini di web server tersebut. Dan
jika php.ini di server tersebut dibiarkan default apa adanya, maka aplikasi Anda tidak
akan berjalan baik di server tersebut.
Untuk itu dianjurkan menggunakan cara lain dalam mengaktifkan sebuah session.
Ada dua cara yang dapat digunakan dalam mengaktifkan session tanpa mengedit php.ini,
yaitu secara eksplisit dan secara implisit. Pengaktifan session secara eksplisit dilakukan
dengan fungsi session_start(), sedangkan secara implisit menggunakan fungsi
session_register().
8
Penggunaan fungsi session_start() tentunya jelas. Dengan menjalankan fungsi tersebut,
maka sebuah session akan dimulai. Fungsi ini tidak memerlukan parameter apapun,
sehingga sintaks penggunaanya adalah dengan langsung saja menuliskan fungsi
session_start() tersebut. Sedangkan fungsi session_register() pada prinsipnya adalah
"mendaftarkan" variabel sehingga variabel-variabel tersebut akan dikenal sepanjang
sebuah session sekaligus memulai sebuah session apabila belum dimulai. Sintaks
penggunaan fungsi session_register() adalah sebagai berikut:
session_register(variabel1[,variabel2[,...]])
Harap diperhatikan, nama variabel di sini ditulis tanpa tanda $ di depannya. Setelah
sebuah variabel di register, maka otomatis variabel tersebut akan menjadi variabel
session. Contoh:
session_register("var1")
Nantinya dalam rangkaian aplikasi web tersebut, variabel $var1 akan dikenal sebagai
variabel session dan bersifat global. Namun sayangnya hal ini tidak lagi berlaku sejak
PHP 4.2.0 dan diatasnya, karena nilai register_globals di php.ini adalah off. Sebelum
PHP 4.2.0 nilai register_globals adalah on. Sebagai gantinya, PHP memperkenalkan
superglobals array untuk menangkap variabel-variabel session tersebut. Superglobal
arrays tersebut adalah $_SESSION. Sebelum versi 4.0.6 Anda juga dapat menggunakan
$HTTP_SESSION_VARS.
Kedua array ini bersifat asosiatif dan sebagai indeksnya adalah nama dari variabel session
yang hendak digunakan. Sebagai akibat dari perubahan ini, maka fungsi
session_register() tidak lagi diperlukan. Efek dominonya, fungsi session_unregister()
dan session_is_registered() juga tidak lagi diperlukan. Fungsi session_unregister()
adalah kebalikan dari fungsi session_register(), yaitu untuk "mencabut" variabel dari
sebuah session, sedangkan fungsi session_is_registered() digunakan untuk memeriksa
apakah sebuah variabel pernah didaftarkan pada sebuah session atau tidak.
9
Lalu sekarang bagaimana caranya mendaftarkan variabel ke dalam session dan mencabut
variabel dari session serta memeriksa apakah variabel tersebut pernah didaftarkan atau
belum?
Untuk mendaftarkan variabel ke dalam session, Anda tinggal menggunakan array
$_SESSION saja. Misalnya Anda ingin memasukkan variabel var1 sebagai variabel
session, maka caranya adalah sebagai berikut:
$_SESSION['var1'] = nilai
Jadi prinsipnya adalah sama dengan deklarasi implisit variabel biasa. Untuk menghapus
dan memeriksa variabel session tersebut, Anda dapat "meminjam" fungsi variabel biasa
yaitu unset() dan isset(). Bahkan fungsi-fungsi variabel yang lain dapat juga digunakan
dalam pengolahan variabel session ini.
Fungsi unset() digunakan untuk menghapus variabel, sedangkan fungsi isset() digunakan
untuk memeriksa apakah variabel tersebut sudah pernah dideklarasikan atau belum.
Untuk menghapus variabel session Anda juga dapat menggunakan cara di bawah ini:
$_SESSION = array();
Dengan demikian, array $_SESSION dideklarasikan sebagai array baru yang kosong.
Pada akhir aplikasi jangan lupa untuk menghapus seluruh informasi session ini. Fungsi
yang digunakan adalah session_destroy().
Contoh Penggunaan Session PHP
Berikut ini akan diberikan contoh penggunaan session. Kita akan memanfaatkan contoh
Artikel sebelumnya yaitu buat_form.html dan proses.php. Biarkan file buat_form.html
seperti apa adanya sedangkan file proses.php di edit menjadi sebagai berikut:
<?php session_start(); ?>
<HTML>
<HEAD>
10
<TITLE> Fungsi Session </TITLE>
</HEAD>
<BODY>
<?php
$_SESSION['nama'] = $_POST['nama'];
$_SESSION['umur'] = $_POST['umur'];
$_SESSION['email'] = $_POST['email'];
$_SESSION['waktu'] = date("H:s:i");
?>
<h1> Hallo <?=$_SESSION['nama']?> </h1>
<h2> Selamat Datang di situs Saya </h2>
Umur Anda saat ini adalah <?=$_SESSION['umur']?> tahun <br />
Alamat email Anda adalah <?=$_SESSION['email']?> <br />
Anda login pada jam <?=$_SESSION['waktu']?> <br />
<a href="http://localhost/next.php"> Klik di sini </a> untuk menuju ke halaman berikut.
</BODY>
</HTML>
Setelah itu buatlah sebuah file lagi bernama next.php yang isinya sebagai berikut:
<?php session_start(); ?>
<HTML>
<HEAD>
<TITLE> Halaman Dua </TITLE>
</HEAD>
<BODY>
<h1> Hallo <?=$_SESSION['nama']?> </h1>
<h2> Anda memasuki halaman kedua di situs Saya </h2>
11
Berikut adalah informasi yang Anda bawa dari halaman pertama:
<hr>
Umur Anda saat ini adalah <?=$_SESSION['umur']?> tahun <br />
Alamat email Anda adalah <?=$_SESSION['email']?> <br />
Anda login pada jam <?=$_SESSION['waktu']?>
<hr>
<?php
$_SESSION=array();
session_destroy();
?>
</BODY>
</HTML>
Jalankan file buat_form.html, lalu isikan data-data pada form tersebut. Setelah Anda
mengklik tombol submit, maka browser akan menuju ke file proses.php. Pada file
proses.php akan terdapat sebuah link untuk menuju ke halaman next.php. Jika link ini
Anda klik, maka browser akan menuju ke halaman next.php dan semua nilai variabel
yang didaftarkan ke dalam session, yaitu variabel $_SESSION['nama'],
$_SESSION['umur'], $_SESSION['email'], dan $_SESSION['waktu'] akan dipertahankan
pada halaman next.php. Jika variabel pada file proses.php tidak dimasukkan ke dalam
session, maka nilainya tidak akan muncul pada halaman next.php. Perhatikan bahwa
fungsi session_start() harus dituliskan pada bagian skrip paling awal sebelum ada output
apapun yang diberikan kepada browser.
Kesimpulan dalam penggunaan Session PHP :
1. Tempatkan fungsi session_start() dibagian paling atas coding php, tidak boleh
didahului oleh coding apapun.
12
2. Perhatikan penamaan variable session ketika session_register() huruf besar kecilnya
(case sensitive), karena ketika penggunaan variable session tersebut harus sama jenis
hurufnya. (Sebenarnya bukan hanya variable session saja yang bersifat case sensitive
tapi juga penamaan variable lainnya di PHP sifatnya case sensitive, termasuk
penamaan komponen misalnya name textfiled, textarea, list/menu dll).
3. Setiap kali akan menggunakan variable session, maka harus dituliskan session_start()
dibagian paling atas coding.
4. Ketika metode pengiriman variable menggunakan metode post, maka ketika
menerima/membaca variable nya pun harus post. Begitu pula ketika metode nya get,
maka menerimanya juga harus get.
Misalkan : formlogin.php
.. form action=”login.php” method=”post” name=”form1″ ..
……………………
.. input name=”txtuser” type=”text” class=”LongText” ..
.. input name=”txtpass” type=”text” class=”LongText” ..
……………………
login.php
session_start();
if ( (! empty(trim($HTTP_POST_VARS['txtuser'])) && (!
empty(trim($HTTP_POST_VARS['txtpass']))) )
{
session_register(‘SES_USER’);
13
session_register(‘SES_PASS’);
$HTTP_SESSION_VARS['SES_USER'] = $HTTP_POST_VARS['txtuser'];
$HTTP_SESSION_VARS['SES_PASS'] = $HTTP_POST_VARS['txtpass'];
}
…………………..
Keterangan :
Karena di atas kita menggunakan method Post, maka ketika menerima/membaca
variabelnya kita menggunakan $HTTP_POST_VARS[], jika di atas anda menggunakan
method Get, maka anda harus menggunakan $HTTP_GET_VARS[].
Referensi :
 Hendrik Perdana , 2009. Membuat Session dengn PHP.
 Euis, 2008. Penggunaan Session PHP, Jakarta.
 Danial , 2008. Belajar Program.
14

More Related Content

What's hot

Sertifikat lomba maulid nabi saw
Sertifikat lomba maulid nabi sawSertifikat lomba maulid nabi saw
Sertifikat lomba maulid nabi sawImran Iim
 
Permohonan pembukaan rekening
Permohonan pembukaan rekeningPermohonan pembukaan rekening
Permohonan pembukaan rekeningcucurohmawati
 
Program kerja PPAS (PEMUDA PECINTA ALAM SEBATIK)
Program kerja PPAS (PEMUDA PECINTA ALAM SEBATIK)Program kerja PPAS (PEMUDA PECINTA ALAM SEBATIK)
Program kerja PPAS (PEMUDA PECINTA ALAM SEBATIK)abdul rahim
 
PEMBAGIAN KAMAR EED GOES TO BALI, SENSE HOTEL BALI
PEMBAGIAN KAMAR EED GOES TO BALI, SENSE HOTEL BALIPEMBAGIAN KAMAR EED GOES TO BALI, SENSE HOTEL BALI
PEMBAGIAN KAMAR EED GOES TO BALI, SENSE HOTEL BALIResna Suci Nurfalah
 
Surat keterangan pindah sekolah
Surat keterangan pindah sekolahSurat keterangan pindah sekolah
Surat keterangan pindah sekolahWarnet Raha
 
Siti masrifah Sertifikat Konferensi Nasional Guru Inovatif 2021
Siti masrifah Sertifikat Konferensi Nasional Guru Inovatif 2021 Siti masrifah Sertifikat Konferensi Nasional Guru Inovatif 2021
Siti masrifah Sertifikat Konferensi Nasional Guru Inovatif 2021 SITI MASRIFAH
 
Surat mohon kunjungan
Surat mohon kunjunganSurat mohon kunjungan
Surat mohon kunjunganfendyrahman
 
Undangan rapat bsm
Undangan rapat bsmUndangan rapat bsm
Undangan rapat bsmpepenapendi
 
Contoh sk panitia un 2013 (sekolah penyelenggara)
Contoh sk panitia un 2013 (sekolah penyelenggara)Contoh sk panitia un 2013 (sekolah penyelenggara)
Contoh sk panitia un 2013 (sekolah penyelenggara)Arhie Lipu
 
SK PEMBAGIAN TUGAS PPDB -2022.docx
SK PEMBAGIAN TUGAS PPDB -2022.docxSK PEMBAGIAN TUGAS PPDB -2022.docx
SK PEMBAGIAN TUGAS PPDB -2022.docxEpaMustopa4
 
Susunan panitia
Susunan panitiaSusunan panitia
Susunan panitialyasuyi
 
Format perpanjangan ijin operasional madrasah
Format perpanjangan ijin operasional madrasahFormat perpanjangan ijin operasional madrasah
Format perpanjangan ijin operasional madrasahTaufan Soebandi
 

What's hot (20)

Pc badan kontak majelis talim
Pc badan kontak majelis talimPc badan kontak majelis talim
Pc badan kontak majelis talim
 
Sertifikat lomba maulid nabi saw
Sertifikat lomba maulid nabi sawSertifikat lomba maulid nabi saw
Sertifikat lomba maulid nabi saw
 
Permohonan pembukaan rekening
Permohonan pembukaan rekeningPermohonan pembukaan rekening
Permohonan pembukaan rekening
 
Program kerja PPAS (PEMUDA PECINTA ALAM SEBATIK)
Program kerja PPAS (PEMUDA PECINTA ALAM SEBATIK)Program kerja PPAS (PEMUDA PECINTA ALAM SEBATIK)
Program kerja PPAS (PEMUDA PECINTA ALAM SEBATIK)
 
PEMBAGIAN KAMAR EED GOES TO BALI, SENSE HOTEL BALI
PEMBAGIAN KAMAR EED GOES TO BALI, SENSE HOTEL BALIPEMBAGIAN KAMAR EED GOES TO BALI, SENSE HOTEL BALI
PEMBAGIAN KAMAR EED GOES TO BALI, SENSE HOTEL BALI
 
Surat keterangan pindah sekolah
Surat keterangan pindah sekolahSurat keterangan pindah sekolah
Surat keterangan pindah sekolah
 
Siti masrifah Sertifikat Konferensi Nasional Guru Inovatif 2021
Siti masrifah Sertifikat Konferensi Nasional Guru Inovatif 2021 Siti masrifah Sertifikat Konferensi Nasional Guru Inovatif 2021
Siti masrifah Sertifikat Konferensi Nasional Guru Inovatif 2021
 
Surat mohon kunjungan
Surat mohon kunjunganSurat mohon kunjungan
Surat mohon kunjungan
 
Undangan rapat bsm
Undangan rapat bsmUndangan rapat bsm
Undangan rapat bsm
 
Contoh sk panitia un 2013 (sekolah penyelenggara)
Contoh sk panitia un 2013 (sekolah penyelenggara)Contoh sk panitia un 2013 (sekolah penyelenggara)
Contoh sk panitia un 2013 (sekolah penyelenggara)
 
Permohonan kursi roda
Permohonan kursi rodaPermohonan kursi roda
Permohonan kursi roda
 
Pedoman penilaian di tk
Pedoman penilaian di tkPedoman penilaian di tk
Pedoman penilaian di tk
 
SK PEMBAGIAN TUGAS PPDB -2022.docx
SK PEMBAGIAN TUGAS PPDB -2022.docxSK PEMBAGIAN TUGAS PPDB -2022.docx
SK PEMBAGIAN TUGAS PPDB -2022.docx
 
Proposal kegiatan latihan kepemimpinan siswa
Proposal kegiatan latihan kepemimpinan siswaProposal kegiatan latihan kepemimpinan siswa
Proposal kegiatan latihan kepemimpinan siswa
 
Notulen rapat
Notulen rapatNotulen rapat
Notulen rapat
 
Susunan panitia
Susunan panitiaSusunan panitia
Susunan panitia
 
Transformasi citra
Transformasi citraTransformasi citra
Transformasi citra
 
Visualisasi Data.pptx
Visualisasi Data.pptxVisualisasi Data.pptx
Visualisasi Data.pptx
 
Proposal pendirian masjid jami'
Proposal pendirian masjid jami'Proposal pendirian masjid jami'
Proposal pendirian masjid jami'
 
Format perpanjangan ijin operasional madrasah
Format perpanjangan ijin operasional madrasahFormat perpanjangan ijin operasional madrasah
Format perpanjangan ijin operasional madrasah
 

Similar to Contoh Session By Tugas Session Hanni

Tugas session (hanni si6 b-40)
Tugas session (hanni si6 b-40)Tugas session (hanni si6 b-40)
Tugas session (hanni si6 b-40)hendrawansyah
 
09071003002 session dan fungsinya
09071003002 session dan fungsinya09071003002 session dan fungsinya
09071003002 session dan fungsinyafebeniken
 
04. session1 konsep dasar session
04. session1 konsep dasar session04. session1 konsep dasar session
04. session1 konsep dasar sessionDhanang Fitra
 
web_server-side-scripting2.pdf
web_server-side-scripting2.pdfweb_server-side-scripting2.pdf
web_server-side-scripting2.pdfAhmadKhanifFikri
 
Seminggu Belajar Laravel Sample
Seminggu Belajar Laravel SampleSeminggu Belajar Laravel Sample
Seminggu Belajar Laravel Sampleadnanpurnaya
 
11 aplikasi teknologi online - session dan aplikasinya
11   aplikasi teknologi online - session dan aplikasinya11   aplikasi teknologi online - session dan aplikasinya
11 aplikasi teknologi online - session dan aplikasinyaMateri Kuliah Online
 
10 pemrograman internet php (2)
10 pemrograman internet   php (2)10 pemrograman internet   php (2)
10 pemrograman internet php (2)Toni Tegar Sahidi
 
Php module hierarchical
Php module hierarchicalPhp module hierarchical
Php module hierarchicalWahyu Bimo
 
Membuat form login dengan php mysql
Membuat form login dengan php mysqlMembuat form login dengan php mysql
Membuat form login dengan php mysqlRaja Putra Media
 
Tutor
TutorTutor
Tutorqyuso
 
Login dengan-session
Login dengan-sessionLogin dengan-session
Login dengan-sessionzebrenitza
 
Wawan tutorial-zend-bagian-1-3
Wawan tutorial-zend-bagian-1-3Wawan tutorial-zend-bagian-1-3
Wawan tutorial-zend-bagian-1-3Haswi Haswi
 
Tutorial menginstal-wordpress-secara-offline-di-windows
Tutorial menginstal-wordpress-secara-offline-di-windowsTutorial menginstal-wordpress-secara-offline-di-windows
Tutorial menginstal-wordpress-secara-offline-di-windowsEccha Nourul
 
Belajar membuat modul crud di laravel 5
Belajar membuat modul crud di laravel 5Belajar membuat modul crud di laravel 5
Belajar membuat modul crud di laravel 5Welly Rosadi, Mochamad
 

Similar to Contoh Session By Tugas Session Hanni (20)

Tugas session (hanni si6 b-40)
Tugas session (hanni si6 b-40)Tugas session (hanni si6 b-40)
Tugas session (hanni si6 b-40)
 
09071003002 session dan fungsinya
09071003002 session dan fungsinya09071003002 session dan fungsinya
09071003002 session dan fungsinya
 
04. session1 konsep dasar session
04. session1 konsep dasar session04. session1 konsep dasar session
04. session1 konsep dasar session
 
Web dinamis
Web dinamisWeb dinamis
Web dinamis
 
web_server-side-scripting2.pdf
web_server-side-scripting2.pdfweb_server-side-scripting2.pdf
web_server-side-scripting2.pdf
 
Seminggu Belajar Laravel Sample
Seminggu Belajar Laravel SampleSeminggu Belajar Laravel Sample
Seminggu Belajar Laravel Sample
 
11 aplikasi teknologi online - session dan aplikasinya
11   aplikasi teknologi online - session dan aplikasinya11   aplikasi teknologi online - session dan aplikasinya
11 aplikasi teknologi online - session dan aplikasinya
 
10 pemrograman internet php (2)
10 pemrograman internet   php (2)10 pemrograman internet   php (2)
10 pemrograman internet php (2)
 
Login php mysql
Login php mysqlLogin php mysql
Login php mysql
 
Php module hierarchical
Php module hierarchicalPhp module hierarchical
Php module hierarchical
 
Dasar PHP
Dasar PHPDasar PHP
Dasar PHP
 
Membuat form login dengan php mysql
Membuat form login dengan php mysqlMembuat form login dengan php mysql
Membuat form login dengan php mysql
 
Laporan akhir
Laporan akhirLaporan akhir
Laporan akhir
 
Tutor
TutorTutor
Tutor
 
Login dengan-session
Login dengan-sessionLogin dengan-session
Login dengan-session
 
Wawan tutorial-zend-bagian-1-3
Wawan tutorial-zend-bagian-1-3Wawan tutorial-zend-bagian-1-3
Wawan tutorial-zend-bagian-1-3
 
Cover
CoverCover
Cover
 
Tutorial menginstal-wordpress-secara-offline-di-windows
Tutorial menginstal-wordpress-secara-offline-di-windowsTutorial menginstal-wordpress-secara-offline-di-windows
Tutorial menginstal-wordpress-secara-offline-di-windows
 
Belajar membuat modul crud di laravel 5
Belajar membuat modul crud di laravel 5Belajar membuat modul crud di laravel 5
Belajar membuat modul crud di laravel 5
 
Building a Secure Web Application
Building a Secure Web ApplicationBuilding a Secure Web Application
Building a Secure Web Application
 

Contoh Session By Tugas Session Hanni

  • 1. TUGAS PEMROGRAMAN BERBASIS WEB PENGGUNAAN SESSION DALAM PHP Hanni Febrina 09071003040 Sistem Informasi 6-B FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA 2009 1
  • 2. 1DAFTAR ISI Halaman Cover ........................................................................................................................... 1 Daftar Isi ........................................................................................................................... 2 Pendahuluan ........................................................................................................................... 3 Contoh Script PHP ........................................................................................................................... 3 Cara Membuat Session PHP ........................................................................................................................... 7 Contoh Penggunaan Session PHP ........................................................................................................................... 10 Kesimpulan dalam pengunaan Sesion PHP ........................................................................................................................... 12 Keterangan ........................................................................................................................... 13 Referensi 2
  • 3. ........................................................................................................................... 14 PENGGUNAAN SESSION DALAM PHP Pendahuluan Session merupakan sebuah metode yang dapat melewatkan suatu variable meskipun berbeda halaman. Session yang diregisterkan akan tetap ada sampai si user menutup browsernya. Contoh Script PHP Membuat satu halaman dengan nama session.php kemudian registerkan sebuah variable : <?php session_start(); 3
  • 4. $_SESSION[’lewat’] = 1; ?> Kemudian buat sebuah file lagi dengan nama anotherpage.php : <?php session_start(); echo $_SESSION[’lewat’] ; ?> Anda buka halaman session.php terlebih dahulu, selanjutnya buka halaman anotherpage.php. Hasilnya : 1 Ini terjadi karena dalam file session.php telah diregisterkan sebuah variable session dengan nama lewat. Seperti pada baris ini $_SESSION[’lewat’] = 1; Variable session ini berlaku untuk semua halaman yang ada karena sifatnya yang global. Untuk men-set sebuah variable session dapat menggunakan cara yang lain : $lewat = 1 ; session_register(’lewat’); untuk mengakses session yang telah diregister tersebut cukup dengan : echo $_SESSION[’lewat’]; Jika browser di tutup, lalu buka kembali halaman anotherpage.php. maka tidak ada yang ditampilkan karena secara otomatis sebuah session akan dibuang ketika browser diclose. Untuk membuang atau mendelete sebuah session, cukup dengan menggunakan fungsi session_unset(’namasession’); 4
  • 5. Contohnya : session_unset($_SESSION[’lewat’]); Untuk membuang semua session yang ada cukup dengan menggunakan fungsi session_destroy(); ini adalah fungsi kebalikan dari session_start(); Contoh implementasi yang lebih kompleks dari penggunaan session ini, penulis akan membuat sebuah script login, yang nantinya jika si user melakukan login dengan benar, maka dibolehkan untuk mengakses halaman yang berbeda sekalipun. Namun persiapkan terlebih dahulu script-script yang dibutuhkan. File login.html : <html> <head><title>Halaman Login…</title></head> <body> <form action=”cek.php” method=”POST”> <table> <tr><td>username : </td><td><input type=”text” name=”username”></td></tr> <tr><td>password : </td><td><input type=”password” name=”password”></td></tr> <tr><td></td><td><input type=”submit” name=”submit” value=”Login”></td></tr> </table> Kemudian file cek.php : <?php session_start(); if(!empty($_POST[’username’]) && !empty($_POST[’password’])) { if ($_POST[’username’] == “admin” && $_POST[’password’] == “admin”) { $_SESSION[’userlogin’] = 1 ; 5
  • 6. echo “Selamat Datang Admin”; echo “<br><a href=edit.php>Edit Database … </a>”; echo “<br><a href=logout.php>Logout … </a>”; } else { header(”location: login.html”); } } ?> Selanjutnya file edit.php, file ini mencontohkan sebuah halaman yang dapat diakses ketika user telah login dengan benar, dan sebuah session yang menjadi kunci telah diregister dan diterima : <?php session_start(); if (ISSET($_SESSION[’userlogin’])) { echo “Silahkan mengedit database … “; echo “<br><a href=logout.php>Logout … </a>”; } else { echo(”Anda tidak berhak untuk mengakses halaman ini … “); } ?> Yang terakhir adalah file logout.php : 6
  • 7. <?php session_start(); session_destroy(); header(”location: login.html”); ?> Username dan password yang berasal dari halaman login.html akan diperiksa terlebih dahulu oleh file cek.php, terlihat di sini Jika username dan passwordnya diisi oleh user … if(!empty($_POST[’username’]) && !empty($_POST[’password’])) { Dan jika username dan passwordnya cocok … if ($_POST[’username’] == “admin” && $_POST[’password’] == “admin”) { Register sebuah variable session … $_SESSION[’userlogin’] = 1 ; …. Jika tidak … else { User diperintahkan untuk melakukan login ulang … header(”location: login.html”); } } Kemudian dalam file edit.php dijelaskan bahwa, 7
  • 8. halaman tersebut dapat diakses dengan syarat variable $_SESSION[’userlogin’] telah di register… … if (ISSET($_SESSION[’userlogin’])) { … Script ini dapat dikembangkan lebih jauh. Dan perlu dicatat, session tentunya sangat bermanfaat sekali, tidak terpatok hanya untuk sekuriti pada sebuah halaman saja, namun dalam bentuk yang lain tentunya. Ini tergantung dari kreatifitas anda dalam menggunakan session. Selamat mencoba. Selamat Mengembangkan. Dan selamat berbuka puasa pada waktunya nanti Cara Membuat Session dalam PHP Ada beberapa cara yang dapat dilakukan untuk memulai sebuah session. Yang pertama adalah dengan menetapkan nilai session.auto_start di php.ini menjadi 1 atau on. Dengan demikian maka setiap sebuah aplikasi yang dibangun dengan PHP diakses, seketika itu pulalah sebuah session akan otomatis "aktif". Namun sekalipun cara ini tidak salah, tetapi amat sangat tidak dianjurkan. Mengapa? Karena secara default nilai session.auto_start di php.ini adalah 0 atau off. Anda memang bisa mengedit php.ini di komputer Anda, akan tetapi bila suatu ketika Anda harus melakukan web hosting di tempat lain, Anda tentu tidak berhak mengubah file php.ini di web server tersebut. Dan jika php.ini di server tersebut dibiarkan default apa adanya, maka aplikasi Anda tidak akan berjalan baik di server tersebut. Untuk itu dianjurkan menggunakan cara lain dalam mengaktifkan sebuah session. Ada dua cara yang dapat digunakan dalam mengaktifkan session tanpa mengedit php.ini, yaitu secara eksplisit dan secara implisit. Pengaktifan session secara eksplisit dilakukan dengan fungsi session_start(), sedangkan secara implisit menggunakan fungsi session_register(). 8
  • 9. Penggunaan fungsi session_start() tentunya jelas. Dengan menjalankan fungsi tersebut, maka sebuah session akan dimulai. Fungsi ini tidak memerlukan parameter apapun, sehingga sintaks penggunaanya adalah dengan langsung saja menuliskan fungsi session_start() tersebut. Sedangkan fungsi session_register() pada prinsipnya adalah "mendaftarkan" variabel sehingga variabel-variabel tersebut akan dikenal sepanjang sebuah session sekaligus memulai sebuah session apabila belum dimulai. Sintaks penggunaan fungsi session_register() adalah sebagai berikut: session_register(variabel1[,variabel2[,...]]) Harap diperhatikan, nama variabel di sini ditulis tanpa tanda $ di depannya. Setelah sebuah variabel di register, maka otomatis variabel tersebut akan menjadi variabel session. Contoh: session_register("var1") Nantinya dalam rangkaian aplikasi web tersebut, variabel $var1 akan dikenal sebagai variabel session dan bersifat global. Namun sayangnya hal ini tidak lagi berlaku sejak PHP 4.2.0 dan diatasnya, karena nilai register_globals di php.ini adalah off. Sebelum PHP 4.2.0 nilai register_globals adalah on. Sebagai gantinya, PHP memperkenalkan superglobals array untuk menangkap variabel-variabel session tersebut. Superglobal arrays tersebut adalah $_SESSION. Sebelum versi 4.0.6 Anda juga dapat menggunakan $HTTP_SESSION_VARS. Kedua array ini bersifat asosiatif dan sebagai indeksnya adalah nama dari variabel session yang hendak digunakan. Sebagai akibat dari perubahan ini, maka fungsi session_register() tidak lagi diperlukan. Efek dominonya, fungsi session_unregister() dan session_is_registered() juga tidak lagi diperlukan. Fungsi session_unregister() adalah kebalikan dari fungsi session_register(), yaitu untuk "mencabut" variabel dari sebuah session, sedangkan fungsi session_is_registered() digunakan untuk memeriksa apakah sebuah variabel pernah didaftarkan pada sebuah session atau tidak. 9
  • 10. Lalu sekarang bagaimana caranya mendaftarkan variabel ke dalam session dan mencabut variabel dari session serta memeriksa apakah variabel tersebut pernah didaftarkan atau belum? Untuk mendaftarkan variabel ke dalam session, Anda tinggal menggunakan array $_SESSION saja. Misalnya Anda ingin memasukkan variabel var1 sebagai variabel session, maka caranya adalah sebagai berikut: $_SESSION['var1'] = nilai Jadi prinsipnya adalah sama dengan deklarasi implisit variabel biasa. Untuk menghapus dan memeriksa variabel session tersebut, Anda dapat "meminjam" fungsi variabel biasa yaitu unset() dan isset(). Bahkan fungsi-fungsi variabel yang lain dapat juga digunakan dalam pengolahan variabel session ini. Fungsi unset() digunakan untuk menghapus variabel, sedangkan fungsi isset() digunakan untuk memeriksa apakah variabel tersebut sudah pernah dideklarasikan atau belum. Untuk menghapus variabel session Anda juga dapat menggunakan cara di bawah ini: $_SESSION = array(); Dengan demikian, array $_SESSION dideklarasikan sebagai array baru yang kosong. Pada akhir aplikasi jangan lupa untuk menghapus seluruh informasi session ini. Fungsi yang digunakan adalah session_destroy(). Contoh Penggunaan Session PHP Berikut ini akan diberikan contoh penggunaan session. Kita akan memanfaatkan contoh Artikel sebelumnya yaitu buat_form.html dan proses.php. Biarkan file buat_form.html seperti apa adanya sedangkan file proses.php di edit menjadi sebagai berikut: <?php session_start(); ?> <HTML> <HEAD> 10
  • 11. <TITLE> Fungsi Session </TITLE> </HEAD> <BODY> <?php $_SESSION['nama'] = $_POST['nama']; $_SESSION['umur'] = $_POST['umur']; $_SESSION['email'] = $_POST['email']; $_SESSION['waktu'] = date("H:s:i"); ?> <h1> Hallo <?=$_SESSION['nama']?> </h1> <h2> Selamat Datang di situs Saya </h2> Umur Anda saat ini adalah <?=$_SESSION['umur']?> tahun <br /> Alamat email Anda adalah <?=$_SESSION['email']?> <br /> Anda login pada jam <?=$_SESSION['waktu']?> <br /> <a href="http://localhost/next.php"> Klik di sini </a> untuk menuju ke halaman berikut. </BODY> </HTML> Setelah itu buatlah sebuah file lagi bernama next.php yang isinya sebagai berikut: <?php session_start(); ?> <HTML> <HEAD> <TITLE> Halaman Dua </TITLE> </HEAD> <BODY> <h1> Hallo <?=$_SESSION['nama']?> </h1> <h2> Anda memasuki halaman kedua di situs Saya </h2> 11
  • 12. Berikut adalah informasi yang Anda bawa dari halaman pertama: <hr> Umur Anda saat ini adalah <?=$_SESSION['umur']?> tahun <br /> Alamat email Anda adalah <?=$_SESSION['email']?> <br /> Anda login pada jam <?=$_SESSION['waktu']?> <hr> <?php $_SESSION=array(); session_destroy(); ?> </BODY> </HTML> Jalankan file buat_form.html, lalu isikan data-data pada form tersebut. Setelah Anda mengklik tombol submit, maka browser akan menuju ke file proses.php. Pada file proses.php akan terdapat sebuah link untuk menuju ke halaman next.php. Jika link ini Anda klik, maka browser akan menuju ke halaman next.php dan semua nilai variabel yang didaftarkan ke dalam session, yaitu variabel $_SESSION['nama'], $_SESSION['umur'], $_SESSION['email'], dan $_SESSION['waktu'] akan dipertahankan pada halaman next.php. Jika variabel pada file proses.php tidak dimasukkan ke dalam session, maka nilainya tidak akan muncul pada halaman next.php. Perhatikan bahwa fungsi session_start() harus dituliskan pada bagian skrip paling awal sebelum ada output apapun yang diberikan kepada browser. Kesimpulan dalam penggunaan Session PHP : 1. Tempatkan fungsi session_start() dibagian paling atas coding php, tidak boleh didahului oleh coding apapun. 12
  • 13. 2. Perhatikan penamaan variable session ketika session_register() huruf besar kecilnya (case sensitive), karena ketika penggunaan variable session tersebut harus sama jenis hurufnya. (Sebenarnya bukan hanya variable session saja yang bersifat case sensitive tapi juga penamaan variable lainnya di PHP sifatnya case sensitive, termasuk penamaan komponen misalnya name textfiled, textarea, list/menu dll). 3. Setiap kali akan menggunakan variable session, maka harus dituliskan session_start() dibagian paling atas coding. 4. Ketika metode pengiriman variable menggunakan metode post, maka ketika menerima/membaca variable nya pun harus post. Begitu pula ketika metode nya get, maka menerimanya juga harus get. Misalkan : formlogin.php .. form action=”login.php” method=”post” name=”form1″ .. …………………… .. input name=”txtuser” type=”text” class=”LongText” .. .. input name=”txtpass” type=”text” class=”LongText” .. …………………… login.php session_start(); if ( (! empty(trim($HTTP_POST_VARS['txtuser'])) && (! empty(trim($HTTP_POST_VARS['txtpass']))) ) { session_register(‘SES_USER’); 13
  • 14. session_register(‘SES_PASS’); $HTTP_SESSION_VARS['SES_USER'] = $HTTP_POST_VARS['txtuser']; $HTTP_SESSION_VARS['SES_PASS'] = $HTTP_POST_VARS['txtpass']; } ………………….. Keterangan : Karena di atas kita menggunakan method Post, maka ketika menerima/membaca variabelnya kita menggunakan $HTTP_POST_VARS[], jika di atas anda menggunakan method Get, maka anda harus menggunakan $HTTP_GET_VARS[]. Referensi :  Hendrik Perdana , 2009. Membuat Session dengn PHP.  Euis, 2008. Penggunaan Session PHP, Jakarta.  Danial , 2008. Belajar Program. 14