Transcript
Page 1: Contoh Session By Tugas Session Hanni

TUGAS PEMROGRAMAN BERBASIS WEB

PENGGUNAAN SESSION DALAM PHP

Hanni Febrina 09071003040

Sistem Informasi 6-B

FAKULTAS ILMU KOMPUTER

UNIVERSITAS SRIWIJAYA

2009

1

Page 2: Contoh Session By Tugas Session Hanni

DAFTAR 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

2

Page 3: Contoh Session By Tugas Session Hanni

Keterangan

...........................................................................................................................

13

Referensi

...........................................................................................................................

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.

3

Page 4: Contoh Session By Tugas Session Hanni

Contoh Script PHP

Membuat satu halaman dengan nama session.php kemudian registerkan sebuah variable :

<?php

session_start();

$_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’];

4

Page 5: Contoh Session By Tugas Session Hanni

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’);

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();

5

Page 6: Contoh Session By Tugas Session Hanni

if(!empty($_POST[’username’]) && !empty($_POST[’password’]))

{

        if ($_POST[’username’] == “admin” && $_POST[’password’] == “admin”)

            {

            $_SESSION[’userlogin’] = 1 ;

            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

{

6

Page 7: Contoh Session By Tugas Session Hanni

echo(”Anda tidak berhak untuk mengakses halaman ini … “);

}

?>

Yang terakhir adalah file logout.php :

<?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

            {

7

Page 8: Contoh Session By Tugas Session Hanni

User diperintahkan untuk melakukan login ulang …

            header(”location: login.html”);

            }

}

Kemudian dalam file edit.php dijelaskan bahwa,

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.

8

Page 9: Contoh Session By Tugas Session Hanni

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().

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()

9

Page 10: Contoh Session By Tugas Session Hanni

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.

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

10

Page 11: Contoh Session By Tugas Session Hanni

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>

<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(); ?>

11

Page 12: Contoh Session By Tugas Session Hanni

<HTML>

<HEAD>

<TITLE> Halaman Dua </TITLE>

</HEAD>

<BODY>

<h1> Hallo <?=$_SESSION['nama']?> </h1>

<h2> Anda memasuki halaman kedua di situs Saya </h2>

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

12

Page 13: Contoh Session By Tugas Session Hanni

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.

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

13

Page 14: Contoh Session By Tugas Session Hanni

session_start();

if ( (! empty(trim($HTTP_POST_VARS['txtuser'])) && (!

empty(trim($HTTP_POST_VARS['txtpass']))) )

{

session_register(‘SES_USER’);

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

Page 15: Contoh Session By Tugas Session Hanni

15


Top Related