Pembahasan Contoh - Sintak

Identifikasi Sintak PHP:
1. Variabel
2. Data
3. Operator
4. Identifier

PROGRAM I - pembahasan
dalam contoh tersebut, agar dapat menggunakan PHP maka harus mendefinisikan aksi dan metode yang digunakan.

<form action="processorder.php" method=post>

data yang diketikkan tersebut akan diproses menggunakan PHP. Maka, harus ada skrip yang menunjukkan PHP yang dituju. dalam hal ini harus dinyatakan menggunakan ACTION

action="processorder.php"

data yang diketikkan oleh user dapat ditangkap menggunakan method, yaitu atribut menggunakan post atau get.
Post digunakan untuk mengirimkan data ke URL dalam bentuk paket yang terpisah.
Get : akan diappended di akhir dari URL.

Data yang sudah diketikkan harus dapat diidentifikasikan menggunakan identifier. data tersebut diinginkan dibaca dalam bentuk text. Identifier yang digunakan diantaranya adalah begoqty untuk bebek goreng. Identifier esjerukqty untuk jumlah es jeruk yang dipesan. jerukpanasqty untuk jumlah jeruk panas yang dipesan.

<tr>
<td>Bebek Goreng</td>
<td align=left><input type="text" name="begoqty" size=3 maxlength=3></td>
</tr>

PROGRAM II - pembahasan
Agar data yang sudah diketikkan di web, dapat diteruskan ke PHP ( file processorder.php ), maka di awal program processorder.php harus mengetikkan pernyataan tentang Identifier yang telah digunakan di orderform.html. Identifier tersebut adalah :

<?php //pernyataan tentang variabel-variabel yang digunakan
$begoqty = $HTTP_POST_VARS['begoqty'];
$esjerukqty = $HTTP_POST_VARS['esjerukqty'];
$jerukpanasqty = $HTTP_POST_VARS['jerukpanasqty'];
$address = $HTTP_POST_VARS['address'];
$DOCUMENT_ROOT = $HTTP_SERVER_VARS['DOCUMENT_ROOT'];
?>

Document_root adalah tempat kita akan menyimpan filenya

Data tersebut kemudian diolah menggunakan operasi matematika, bukan logika. Hal ini karena kita kan menghitung secara matematis jumlah pemesanan dan ongkos yang harus dikeluarkan oleh pembeli. Lihat contoh berikut ini :

<?php $totalqty = 0;
$totalqty += $begoqty;
$totalqty += $esjerukqty;
$totalqty += $jerukpanasqty;
$totalamount = 0.00;

data harga sudah dimasukkan manual dan didefinisikan oleh programmer sebagai berikut :
define('Hargabego', 13000);
define('Hargaesjeruk', 3000);
define('Hargajerukpanas', 2500);

Operator-operator matematika yang digunakan di PHP adalah :

Operator Name Example
+ Addition $a + $b
- Subtraction $a - $b
* Multiplication $a * $b
/ Division $a / $b
% Modulus $a % $b
Operator Use Equivalent to
+= $a += $b $a = $a + $b
-= $a -= $b $a = $a - $b
*= $a *= $b $a = $a * $b
/= $a /= $b $a = $a / $b
%= $a %= $b $a = $a % $b
.= $a .= $b $a = $a . $b

Variabel yang disediakan oleh PHP dapat dipanggil menggunakan function. Berikut ini adalah contoh function date yang berisi tanggal dan jam saat data dimasukkan.

$date = date('H:i, jS F');

perintah echo digunakan untuk menampilkan data yang diproses ke dalam WEB BROWSER

echo '<p>Order processed at ';
echo $date;
echo '<br />';
echo '<p>Your order is as follows:';
echo '<br />';

Control structure contohnya adalah sebagai berikut , lalu ditampilkan di web browser:

if( $totalqty == 0 ) { echo 'Anda belum memasukkan pesanan apapun!<br />';
}
else { if ( $begoqty>0 ) echo $begoqty.' Bebek Goreng<br />';
if ( $esjerukqty>0 ) echo $esjerukqty.' Gelas es jeruk<br />';
if ( $jerukpanasqty>0 ) echo $jerukpanasqty.' Gelas jeruk panas<br />';
}
$total = $begoqty * Hargabego + $esjerukqty * Hargaesjeruk + $jerukpanasqty * Hargajerukpanas;
$total=number_format($total, 2, '.', ' ');
echo '<P>Julah total pesanan adalah '.$total.'</p>';
echo '<P>Alamat pengiriman adalah '.$address.'<br />';

$outputstring = $date."\t".$begoqty." bego \t".$esjerukqty." esjeruk\t" .$jerukpanasqty." jerukpanas \t\$".$total ."\t".

$address."\n";

Hasil proses2 di atas kemudian di simpan di file bernama orders.txt, dengan perintah2 sebagai berikut :

// open file for appending
$fp = fopen("$DOCUMENT_ROOT/orders.txt", 'a'); flock($fp, LOCK_EX);
if (!$fp)
{ echo '<p><strong> Pesanan anda tidak dapat diproses saat ini. ' .'
Cobalah beberapa saat lagi.
</strong>
</p>
</body>

breaking-out jika dari control structure di atas ternyata data belum dimasukkan tetapi sudah ditekan tombol submit.
</html>';
exit; }
fwrite($fp, $outputstring);
flock($fp, LOCK_UN); fclose($fp);
echo '<p>Order written.</p>'; ?>
</body>
</html>

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License