Hi, ik ben met het boek Php and MySQL Web Development bezig, en ik loop bij hoofdstuk één al tegen een raar verschijnsel aan.
Ik heb dit html formulier:
En dit bijbehorende PHP script:
In eerste instantie lijkt alles goed te gaan, maar toen ik bij de Tires het getal 10 invulde, zegt ie bij de regel
Total including tax: $1.10 terwijl dit natuurlijk $1100,-- moet zijn.
Als ik 9 Tires 'koop', dan geeft ie gewoon $990,--.
Van de andere 2 artikelen kan ik wel meer of gelijk aan 10 exemplaren 'kopen' met een correct bedrag.
Ik heb de code al 3 x from scratch uit het boek overgetyped, maar loop telkens tegen dit 'probleem' aan.
Ik hoop dat deze mag blijven staan, omdat het imo geen 'wie maakt dit script ff af' request is.
Ik snap gewoon niet vanwaar het omslagpunt als het getal boven of gelijk aan 10 is.
Ik heb dit html formulier:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| <form action="processorder.php" method=post>
<table border=0>
<tr bgcolor=#cccccc>
<td width=150>Item</td>
<td width=15>Quantity</td>
</tr>
<tr>
<td>Tires</td>
<td align=center><input type="text" name="tireqty" size=3 maxlength=3</td>
</tr>
<tr>
<td>Oil</td>
<td align=center><input type="text" name="oilqty" size=3 maxlength=3></td>
</tr>
<tr>
<td>Spark Plugs</td>
<td align=center><input type="text" name="sparkqty" size=3 maxlength=3></td>
</tr>
<tr>
<td colspan=2 align=center><input type=submit value="Submit Order"></td>
</tr>
</table>
</form> |
En dit bijbehorende PHP script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| <?
echo "<p>Order processed at ";
echo date("H:i, jS F");
echo "<br>";
echo "<p>Your order is as follows:";
echo "<br>";
echo $tireqty." tires<br>";
echo $oilqty." bottles of oil<br>";
echo $sparkqty." spark plugs<br>";
$totalqty = 0;
$totalamount = 0.00;
define("TIREPRICE", 100);
define("OILPRICE", 10);
define("SPARKPRICE", 4);
$totalqty = $tireqty + $oilqty +$sparkqty;
$totalamount = $tireqty * TIREPRICE
+ $oilqty * OILPRICE
+ $sparkqty * SPARKPRICE;
$totalamount = number_format($totalamount, 2);
echo "<br>\n";
echo "Items ordered: ".$totalqty. "<br>\n";
echo "Subtotal: $".$totalamount."<br>\n";
$taxrate = 0.10; // local sales tax is 10 %
$totalamount = $totalamount * (1 + $taxrate);
$totalamount = number_format($totalamount, 2);
echo "Total including tax: $".$totalamount."<br>\n";
?> |
In eerste instantie lijkt alles goed te gaan, maar toen ik bij de Tires het getal 10 invulde, zegt ie bij de regel
Total including tax: $1.10 terwijl dit natuurlijk $1100,-- moet zijn.
Als ik 9 Tires 'koop', dan geeft ie gewoon $990,--.
Van de andere 2 artikelen kan ik wel meer of gelijk aan 10 exemplaren 'kopen' met een correct bedrag.
Ik heb de code al 3 x from scratch uit het boek overgetyped, maar loop telkens tegen dit 'probleem' aan.
Ik hoop dat deze mag blijven staan, omdat het imo geen 'wie maakt dit script ff af' request is.
Ik snap gewoon niet vanwaar het omslagpunt als het getal boven of gelijk aan 10 is.
Steun mij en draag bij aan een wereld zonder MS --------- Random WTF