Probleem door omslachtigheid?
Hier ging het goed:
Stap 1: Ik heb een code die aantallen van dingen keer de prijs van die dingen doet en vervolgens alles bij elkaar optelt, wat voor een variable $totaal zorgt.
Stap 2: Daarna gaat hij kijken of er van die aantallen van die dingen van hierboven meer dan 25 zijn, zo ja dan doet hij $totaalprijs = $totaal * 0.9 (men krijgt dan 10% korting)
Ik wilde dat beide prijzen werden laten zien: de prijs zonder korting en met korting.
Hier ging het fout:
De bedoeling was dat wanneer de prijs met korting ($totaalkorting) erbij stond deze werd weggeschreven en wanneer hij er niet stond de normale prijs ($totaal) zonder korting werd weggeschreven.
Dit was mijn oplossing:
Code (php)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// Eindberekening
// Stap 1
$totaal = 0;
if(isset($berekening))
{
$totaal += $berekening;
}
if(isset($berekening2))
{
$totaal += $berekening2;
}
// Even wat weggelaten
if(isset($berekening13))
{
$totaal += $berekening13;
}
if(isset($berekening14))
{
$totaal += $berekening14;
}
{
echo '<tr><td></td><td><b>Totaal:</b> </td><td>€ '. $totaal. '</td></tr>' ;
}
// Stap 2
if($berekening + $berekening2 + $berekening3 + $berekening4 + $berekening5 + $berekening6 + $berekening7 > 25)
{
$totaalkorting = $totaal * 0.9;
echo '<tr>U krijg groepskorting van 10 procent!<td></td><td><b>Totaal met korting:</b> </td><td>€ '. $totaalkorting. '</td></tr>';
}
$totaalprijs = 0;
if($berekening + $berekening2 + $berekening3 + $berekening4 + $berekening5 + $berekening6 + $berekening7 > 25)
{
$totaalprijs = $totaalkorting;
}
else
{
$totaalprijs = $totaal;
}
?>
// Stap 1
$totaal = 0;
if(isset($berekening))
{
$totaal += $berekening;
}
if(isset($berekening2))
{
$totaal += $berekening2;
}
// Even wat weggelaten
if(isset($berekening13))
{
$totaal += $berekening13;
}
if(isset($berekening14))
{
$totaal += $berekening14;
}
{
echo '<tr><td></td><td><b>Totaal:</b> </td><td>€ '. $totaal. '</td></tr>' ;
}
// Stap 2
if($berekening + $berekening2 + $berekening3 + $berekening4 + $berekening5 + $berekening6 + $berekening7 > 25)
{
$totaalkorting = $totaal * 0.9;
echo '<tr>U krijg groepskorting van 10 procent!<td></td><td><b>Totaal met korting:</b> </td><td>€ '. $totaalkorting. '</td></tr>';
}
$totaalprijs = 0;
if($berekening + $berekening2 + $berekening3 + $berekening4 + $berekening5 + $berekening6 + $berekening7 > 25)
{
$totaalprijs = $totaalkorting;
}
else
{
$totaalprijs = $totaal;
}
?>
<form action="bevestiging.php" method="post">
<table class="one">
<input type="hidden" name="totaal" value="">
<tr><td>Ik ga akkoord met de <a href="http://members.lycos.nl/mehlkraut/algemene.htm" target="_blank">algemene voorwaarden</a>:</td><td><input type="checkbox" name="akkoord" value="akkoord"></td></tr>
<br><br><tr><td><input type="submit" name="algemene" value="Bevestig">
</form><input type='button' name='terug' onclick='javascript:history.go(-1);' value='Terug'></td></tr></font></form>
EDIT: Oh shit ik zie het al:
Moet worden:
- Blijkbaar moet ik soms een uitgebreid verhaal als dit hierboven houden om achter de fout te komen.
Gewijzigd op 01/01/1970 01:00:00 door Joshua
Misschien dat je volgende keer even aan het begin van je post kunt zetten dat je zelf de oplossing al gevonden. Dan had ik hem niet helemaal door hoeven lezen...
Niet zo'n probleem natuurlijk, maar goed kost me toch weer een aantal minuten :-P
Blanche schreef op 09.01.2008 23:59:
Misschien dat je volgende keer even aan het begin van je post kunt zetten dat je zelf de oplossing al gevonden. Dan had ik hem niet helemaal door hoeven lezen...
Hehe, als mensen lappen code gaan plaatsen scroll ik er meestal effe doorheen om te kijken of er al antwoord op is enzo.... :-)
@TS'er: Dit is nou debuggen, stap voor stap nagaan wat er gebeurt enzo...
En ik weet wat er fout zit alleen kan iemand me helpen?
Bij stap 2 kan je in de code zien dat ik berekening1 tm berekening7 bij elkaar optel. Wanneer er daar eentje van niet aanwezig is (wat mogelijk is in mijn code) geeft hij dus errors.
Kan iemand een alternatieve oplossing geven?
- Gewoon if(isset()) gebruiken?
Een korte samenvatting van de fouten
(hier had ik dus berekening4, 5, 6 en 7 niet ingevuld)
Notice: Undefined variable: berekening4 in /data/members/free/tripod/nl/m/e/h/mehlkraut/htdocs/uitdraai.php on line 265
Notice: Undefined variable: berekening5 in /data/members/free/tripod/nl/m/e/h/mehlkraut/htdocs/uitdraai.php on line 265
Notice: Undefined variable: berekening6 in /data/members/free/tripod/nl/m/e/h/mehlkraut/htdocs/uitdraai.php on line 265
Notice: Undefined variable: berekening7 in /data/members/free/tripod/nl/m/e/h/mehlkraut/htdocs/uitdraai.php on line 265
U krijgt groepskorting van 10 procent!
Notice: Undefined variable: berekening4 in /data/members/free/tripod/nl/m/e/h/mehlkraut/htdocs/uitdraai.php on line 274
Notice: Undefined variable: berekening5 in /data/members/free/tripod/nl/m/e/h/mehlkraut/htdocs/uitdraai.php on line 274
Notice: Undefined variable: berekening6 in /data/members/free/tripod/nl/m/e/h/mehlkraut/htdocs/uitdraai.php on line 274
Notice: Undefined variable: berekening7 in /data/members/free/tripod/nl/m/e/h/mehlkraut/htdocs/uitdraai.php on line 274
Gewijzigd op 01/01/1970 01:00:00 door Joshua
Als alle velden verplicht zijn, kan je ook dit doen.
Daarna kan je weer verder, beveiliging is zeer belangrijk in je script en het lost in dit geval al een aantal foutmeldingen op.
Gewijzigd op 01/01/1970 01:00:00 door Erik Rijk
Ja daar ben ik me van bewust :) Ik heb het probleem opgelost door if(isset()) te gebruiken. En nu werkt alles als een zonnetje :)