Client State Management Client State Management | isMediaNet

Jumat, 21 Oktober 2011

Client State Management

1. Tujuan
Setelah praktikum ini diharapkan mampu mengetahui penanganan client state menggunakan PHP.
2. Tools
Text editor, Apache  HTTP server, PHP
3. Landasan Teori
HTTP merupakan stateless  protocol, artinya sekali  client mengirim request dan menerima response, saat itu  juga   koneksi dengan web  server berakhir.  Oleh karena itu, perlu sesuatu  untuk menjaga kondisi client (client state), misalnya supaya tetap berstatus 'authorized user', supaya ketika berbelanja online kondisi shopping cart tidak berubah, dsb.  PHP mendukung cookie dan  session  untuk menangani client state yang  akan  dibahas pada  praktikum ini.
Cookies merupakan mekanisme untuk menyimpan data pada  remote browser dan juga  bisa dimanfaatkan untuk mengidentifikasi state pada  client. Cookies merupakan bagian dari  HTTP header, jadi  fungsi untuk men-set Cookie  harus dipanggil sebelum ada output pada  browser.
Session memungkinkan client untuk menyimpan informasi pada  server. Namun, informasi   session    ini    bersifat   temporer,   sehingga   biasanya   server   akan menghapus session  ketika user  telah meninggalkan website yang  menggunakan session.
4.1.Cookie
4.1.1. Cookie dasar
Jalankan get_cookie.php ? set_cookie.php ? get_cookie.php
<?php
/*
* File : get_cookie.php
* Deskripsi : File untuk mendapatkan cookie yang sudah di-set
*/
if(isset ($_COOKIE['name'])) {
print "hello ".$_COOKIE['name'];
}else {
print "your cookie has not been set!";
}
?>

<?php
/*
* File : set_cookie.php
*Deskripsi : File untuk men-set cookie
*/
$myname = "panji"; setcookie("name", $myname); print "cookie already set!";
?>

4.1.3.Simple Cart
Program berikut menunjukkan shopping cart sederhana menggunakan cookies
Apa     kesimpulan     anda?bagaimana    men-set     cookie?     Bagaimana    mendapatkan kembali cookie?  Pahami, jangan melanjutkan praktikum sebelum paham!
4.1.2. Array Of Cookie
Cookie  dapat ditempatkan dalam array seperti halnya dalam program berikut :

<?php
/*
* File :array_cookie.php
* Deskripsi : Program untuk menempatkan cookie pada array
*/

setcookie("cookie[three]", "cookie three"); setcookie("cookie[two]", "cookie two"); setcookie("cookie[one]", "cookie one");
//reload page untuk mendapatkan output if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
echo "$name : $value <br />\n";
}
}
?>


4.1.3.Simple Cart
Program berikut menunjukkan shopping cart sederhana menggunakan cookies

<!-- File : order_form.php --->
<html>
<head>
<title>Order Form</title>
</head>
<body>
<form action="order_process.php" method="POST">
<p>
Order CD, amount :
<input type="text" name="cd_order" value="0" size="2" maxlength="2" />
</p>
<p>
Order DVD, amount :
<input type="text" name="dvd_order" value="0" size="2" maxlength="2" />
</p>
<input type="submit" value="Add To Cart" name="submit" />
</form>
</body>
</html>


<?php
/*
* File : order_proses.php
* Deskripsi : form untuk pemrosesan pesanan
*/
if(isset ($_POST['cd_order']) && isset ($_POST['dvd_order'])){ setcookie("cd_order",$_POST['cd_order']); setcookie("dvd_order",$_POST['dvd_order']);
header("Location: order_summary.php");
}
?>

<html>
<head>
<title>Order Form</title>
</head>
<body>
<p><u>Order Summary</u></p>
<?php
/*
* File : order_summary.php
* Deskripsi : program untuk menampilkan semua order
*/
$num_cd_order = $_COOKIE['cd_order'];
$num_dvd_order = $_COOKIE['dvd_order'];
echo "Ordered CD : ".$num_cd_order." pieces <br />";
echo "Ordered DVD : ".$num_dvd_order." pieces <br />";
?>
</body>
</html>


4.2.Session
4.2.1.Session Dasar
Dalam PHP, session  merupakan associative  array dan  setiap kali  dimulai pertama kali,   akan   mempunyai  ID.  Pada  praktikum ini,  jalankan  masing-masing  program secara   berurutan  :  session_basic.php  ?  session_basic_check.php  ? session_unset.php ?  session_basic_check.php
<?php
/*
* File : session_basic.php
* Deskripsi : Program untuk mengenalkan PHP session
*/
//creates a session or resumes the current one based on a session identifier session_start();
//get the session ID
echo "session ID : ".session_id()."<br />";
//store and receive session data
$_SESSION['views'] = 1;
echo "Pageviews = ". $_SESSION['views'];

?>

<?php
/*
* File : session_basic_check.php
* Deskripsi : check session dengan identifier 'views'
*/ session_start(); if(isset($_SESSION['views']))
echo "session was already set <br />";
else{
echo "session was not set and now is set";
$_SESSION['views'] = 1;
}

echo "views = ". $_SESSION['views'];
?>


<?php
/*
* File : session_unset.php
* Deskripsi : program untuk meng-hancurkan session
*/

session_start();
if(isset($_SESSION['views'])){
unset($_SESSION['views']); //you can use session_destroy() as well
}

if(!isset($_SESSION['views'])){
echo "No more page views ....";
}

?>

0 komentar:

Posting Komentar