Kalender

Kategori

Pesan Anda


ShoutMix chat widget

Browser Favorit

Blog Archive

Numeral Validation

Diposting oleh Anang Efendi On 15.35

Dalam tutorial ini, anda akan belajar tentang keamanan di php. Anda akan belajar mulai dari nol. Pengetahuan dasar ini diperlukan pada saat Anda mulai membangun web. Anda akan belajar faktor-faktor apa yang mempengaruhi keamanan dari sebuah situs. Pada kenyataannya, kadang-kadang kelemahan keamanan karena kelemahan logika yang digunakan oleh programmer. Ini akan berakibat fatal. Kesalahan logika tidak dapat dilindungi oleh firewall atau peralatan lainnya. Untuk alasan ini, tutorial ini akan membawa lebih banyak informasi kepada Anda mengenai keamanan php. Mari kita mulai!



Numeral Validation

<!-Listing Program: FormPemesanan.php-->
<html>
<head>
<title>Order Form</title>
</head>
<body>
<img src="install.png"><font size="+5">Order, Please...</font>
<form method="post" action="HitungPesanan.php">
<table width="100%" border="1">
<tr><th>Code</th>
<th>Item</th>
<th>Price</th>
<th>Total</th></tr>
<tr>
<td>0001</td>
<td>Keyboard</td>
<td>Rp 1.000,-</td>
<td><input name="jumlah" type="text" value=""
size="4" maxlength="4" /></td>
</tr>
</table><br>
<input name="Pesan" type="submit" value="Order" />
</form>
</body>
</html>

Selanjutnya, kita membuat perhitungan total yang harus dibayar oleh pembeli:
<?php
// Listing Program: HitungPesanan.php

function Calc_Order($price,$order){
return $pay = $price * $order;
}

echo "Total you must pay: ";
echo number_format(Calc_Order(1000,$total),2,",",".");
?>

Jadi, ada sesuatu yang salah dengan perhitungan di atas? Contoh: ada pengunjung yang input nilai "-20". Apa yang terjadi selanjutnya? Hasilnya akan seperti gambar berikut:


Jumlah ini cukup mempunyai mempengaruhi pada akuntansi perusahaan. Ini berarti bahwa Anda memiliki kewajiban kepada pembeli. Bagaimana memecahkan masalah ini? Yang harus Anda lakukan adalah untuk dilemparkan ke dalam nilai integer kemudian melakukan validasi. Ubah kode program seperti ini:
<?php
// Listing Program: HitungPesanan.php

function Calc_Order($price,$order){
$order = (int)$order;
if ($order < 1){
return 0;
}
return $pay = $price * $order;
}

$total = Calc_Order(1000,$total);

if ($total > 0){
echo "You must pay: ";
echo number_format(Calc_Order(1000,$total),2,",",".");
}else{
echo "Order input not valid";
}

?>

Dalam fungsi tersebut, jika dimasukkan urutan dalam kurang dari 1 (berarti bahwa itu termasuk dari nilai nol), urutan tidak valid. Hal ini pernah dilakukan di baris:
if ($order &lt; 1){
return 0;
}
Tetapi Anda tidak harus mengikuti validasi seperti pada baris di atas. Anda juga dapat melakukan variasi kode sebagai berikut:
<?php
// Listing Program: HitungPesanan2.php

function Calc_Order($price,$order){
return preg_replace("/[^0-9.]/", "",
$price * (int)$order);
}

$total = Calc_Order(1000,$total);
if ($total > 0){
echo "Total you must pay: ";
echo number_format(Calc_Order(1000,$total),2,",",".");
}else{
echo "Order input not valid";
}
?>
Dalam perhitungan terakhir ini, jika pengguna memasukkan jumlah "-20" maka pengguna akan dipertimbangkan dalam urutan "20". Tanda minus yang diinput akan diabaikan dan dianggap sebagai hanya sebagai kesalahan input. Yang mana yang lebih baik untuk digunakan? Hal ini tergantung pada kebijakan Anda apakah Anda ingin menggunakan tanda minus (hasilnya tidak valid) atau tidak peduli dengan tanda minus (hasilnya adalah perhitungan dengan mengabaikan usuall tanda minus).

Semoga ada manfaatnya...




Category : | Read More...... edit post

0 Response to "Numeral Validation"

Posting Komentar

My Profile


"Everything is Possible with Programming"

Chatt yukk

Followers

Ada kesalahan di dalam gadget ini