Bezig met zelfstudie PHP, fout in cursusboek ?

Pagina: 1
Acties:
  • 55 views sinds 30-01-2008

  • Spasm
  • Registratie: Juni 2001
  • Laatst online: 16:26
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:

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


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Het heeft waarschijnlijk te maken met je regional settings.

Geef eens 1,10 in

https://fgheysels.github.io/


  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 11:06

DizzyWeb

Ondertiteld

Geef voor de grap eens de totale output. Kan je iig zien waar het mis gaat met rekenen.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

Als het boek fout is, dan is het jammer; kijk anders ook eens naar een tutorial op Internet. Wellicht dat deze wel duidelijker is.

Van overtypen leer je trouwens geen programmeren, programmeren leer je door te doen en te kijken wat je doet. Vooral dit laatste mis ik bij je. Zoals je in de posts hierboven al ziet, gaan de suggesties vooral op het "uitprobeer" vak en "debug"-gedeelte.

Waar gaat het mis, bij welke regels heb ik nog wel goede waarden in mijn variabelen, en welke niet?

Een klein stukje over debuggen kan je iig vinden in de FAQ

[edit]
Ik kreeg net nog een mailtje van RedRose:
Even over Bezig met zelfstudie PHP, fout in cursusboek ? .

Het is dus wel een bugje in het script, er vind number formatting plaats voor de tax-berekening. Slight bugje in het boek of in PHP zelf.

Misschien dat je dat er nog bij kan zetten? Verder ben ik het met je eens dat de TS ff zijn waarden moet echoeen.

[ Voor 48% gewijzigd door gorgi_19 op 29-04-2004 13:48 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Dit topic is gesloten.