Senin, 13 Oktober 2008

dasar php(bag3)

Aplikasi Web

Bagian ini menjelaskan aspek-aspek bahasa PHP yang khusus berhubungan dengan pengembangan aplikasi Web. Agar contoh-contoh pada bagian ini dapat dijalankan, diperlukan web server (misal: apache) yang mendukung aplikasi PHP. Cara mensetup apache agar dapat mendukung PHP tidak dijelaskan.


Method GET dan POST


Aplikasi web adalah berbasiskan interaksi antara 2 program, yang masingmasing berperan sebagai client dan server. Dalam konteks bahasan ini, server adalah web server (misal: apache httpd 2, apache httpd 1, tomcat, jetty) dan client adalah web browser (misal: mozilla firefox, konqueror, epiphany, opera) Server adalah program pertama yang berjalan dan menyediakan service yang dapat direquest oleh client. Selanjutnya client berjalan, dan mengirimkan request kepada server, server menerima dan memproses request tersebut dan menghasilkan response. Client menerima response dan merepresentasikan response tersebut ke pengguna. Web request dapat dikirimkan dalam 2 method (cara) GET dan POST.


Method GET digunakan apabila operasi yang diharapkan terjadi di sisi server, akibat adanya request ini, tidak akan mengakibatkan perubahan (pada data atau sumber data).


Method POST digunakan apabila operasi yang diharapkan terjadi di sisi server, akibat adanya request ini, akan mengakibatkan perubahan (pada data atau sumber data). Web request dapat memiliki parameter, yang diperlakukan oleh aplikasi sebagai data string.


Pada method GET, parameter tersebut dikirimkan sebagai bagian dari URL, dan panjang parameter dibatasi oleh panjang maksimum URL. Pada method POST, parameter tersebut dikirimkan dalam body request. Panjang parameter tidak terbatas.


Menangani request


Aplikasi PHP yang baik, dirancang untuk menangani request dengan benar. Menangani request terdiri atas:


. membaca data dari request sebagai masukan, termasuk parameter request.

. Melakukan proses untuk menghasilkan keluaran berdasarkan data request

. mengirimkan response


Request GET


Pada aplikasi PHP, parameter dari request GET dapat diakses menggunakan variabel khusus $_GET yang sudah didefinisikan oleh PHP. Variabel $_GET ini adalah array assosiatif, semua value harus diakses menggunakan key.


Request POST


Parameter dari request POST diakses menggunakan variabel $_POST. 38 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source Seperti halnya $_GET, variabel ini juga array assosiatif. Contoh aplikasi web sederhana:


Berikut ini contoh aplikasi web sederhana yang menerapkan berbagai subyek yang sudah dibahas.


Penjelasan Program


File head.php


Berisi header untuk setiap halaman web, agar tampilan konsisten. Header juga cocok untuk menempatkan include ke filefile yang menyediakan classclass atau fungsifungsi yang diperlukan oleh aplikasi.


define ("PEMILIK", "Irfan Mahdi");

req uire_once("ordersvc.php");

?>

Warung Web

4.3.2.File ordersvc.php

File ini berisi definisi class yang diperlakukan aplikasi untuk memproses pesanan.

class OrderService {

private $produk = array('01'=>'Gadogado',

'02'=>'Bakmi Ayam',

'03'=>'Tong Seng');

private $pilihan = array (

'01' => array(

'cabe > 10','banyak sayuran','ketupat','nasi'

),

'02' => array(

'pangsit kering','pangsit basah','bakso'

),

'03' => array(

'banyak tulang','banyak daging','banyak kuah'

)

);

// constructor

function OrderService() {

}

// @return daftar produk

function produk() {

return $this>

produk;

}

// @return pilihan

function pilihan($prod) {

return $this>

pilihan[$prod];

}

// proses pesanan

function proses_pesanan($prod, $kirimke, $konfig)

{

echo 'Terimakasih, ',"\n";

echo "Kami segera mengirimkan pesanan ke $kirimke,

kalau kebetulan lewat..
\n";

if($konfig) {

echo '

    ';

    foreach($konfig as $d) {

    echo '

  • ', $this>
  • pilihan[$prod][$d],"\n";

    }

    echo '

';

} else {

echo "Anda memilih menu standard
\n";

}

}

}

?>


File menu.php


Menampilkan menu pilihan:


include('head.php')

?>

Selamat datang di warung

Apa yang anda inginkan:

    $os = new OrderService();

    foreach($os>

    produk() as $key => $value) {

    echo '


  1. href="pesan.php?prod=',$key,'">',$value,'',"\n";

    }

    ?>

include('tail.php');

?>


File pesan.php


Untuk memproses pesanan, dan menampilkan response. Jika pesanan sudah diproses form tidak ditampilkan lagi


include('head.php');

$os = new OrderService();

if (!empty($_POST)) {

$konfig = $_POST['konfig'];

$kirimke = $_POST['kirimke'];

$prod = $_POST['prod'];

if(empty($kirimke)) {

echo "mau dikirim kemana?\n";

}

else

{

$os>

proses_pesanan($prod, $kirimke, $konfig);

$sudahpesan = true;

}

}

if (!$sudahpesan) {

?>

backgroundcolor:

lightgreen;">

" type="hidden">

}

include('tail.php');

?>



Konfigurasi

$prod = $_GET['prod'];

$options = $os>

pilihan($prod);

$i = 0;

foreach($options as $value) {

echo '

$i++,'">', $value, "\n";

}

?>

kirim ke alamat

Label:

0 Komentar:

Posting Komentar

Berlangganan Posting Komentar [Atom]

<< Beranda