If else probleem
Ik ben bezig met een boekingssysteem voor een camping en ik heb nu de volgende code geschreven om de prijs per nacht te berekenen:
Ik zit alleen met een probleem, als je aangeeft dat je een hond meeneemt moet er 2,50 euro per nacht bijkomen, dat doet het niet.
Hier is een online voorbeeld te zien: Klik hier
PS: Het is een test script dus sommige dingen werken nog niet, ik wil alleen dit weten
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
51
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
51
<?php
$naam = $_POST['naam'];
$adres = $_POST['adres'];
$postcode = $_POST['postcode'];
$plaats = $_POST['plaats'];
$telefoon = $_POST['telefoon'];
$email = $_POST['email'];
$met = $_POST['met'];
$aantalvolwassenen = $_POST['aantalvolwassenen'];
$aantalkinderen = $_POST['aantalkinderen'];
$metauto = $_POST['metauto'];
$hond = $_POST['hond'];
$bijzettent = $_POST['bijzettent'];
$aankomstdatum = $_POST['aankomstdatum'];
$vertrekdatum = $_POST['vertrekdatum'];
$opmerkingenen = $_POST['opmerkingenen'];
$prijskinderen = 3.20;
$prijsvolwassenen = 4.70;
$prijshond = 2.50;
$prijsbijzettent = 4.00;
$pernacht1 = 19.40 + ($aantalvolwassenen * $prijsvolwassenen) + ($aantalkinderen * $prijskinderen);
if($aantalvolwassenen == 1 && $aantalkinderen == 0 or !isset($aantalkinderen)){
$pernacht2 = $pernacht1 - $prijsvolwassenen;
}
elseif($aantalvolwassenen >= 2){
$pernacht2 = $pernacht1 - ($prijsvolwassenen + $prijsvolwassenen);
}
elseif($aantalvolwassenen == 1 && $aantalkinderen >= 1){
$pernacht2 = $pernacht1 - ($prijsvolwassenen + $prijskinderen);
}
elseif($aantalvolwassenen == 0 or !isset(aantalvolwassenen){
$pernacht2 = $pernacht1;
}
[b]if($hond == 'ja'){
$pernacht3 = $pernacht2 + $prijshond;
} else {
$pernacht3 = $pernacht2;
}[/b]
if($bijzettent == 'ja'){
$pernacht3 = $pernacht2 + $prijsbijzettent;
} else {
$pernacht3 = $pernacht2;
}
echo 'Prijs per nacht: '.$pernacht3;
?>
$naam = $_POST['naam'];
$adres = $_POST['adres'];
$postcode = $_POST['postcode'];
$plaats = $_POST['plaats'];
$telefoon = $_POST['telefoon'];
$email = $_POST['email'];
$met = $_POST['met'];
$aantalvolwassenen = $_POST['aantalvolwassenen'];
$aantalkinderen = $_POST['aantalkinderen'];
$metauto = $_POST['metauto'];
$hond = $_POST['hond'];
$bijzettent = $_POST['bijzettent'];
$aankomstdatum = $_POST['aankomstdatum'];
$vertrekdatum = $_POST['vertrekdatum'];
$opmerkingenen = $_POST['opmerkingenen'];
$prijskinderen = 3.20;
$prijsvolwassenen = 4.70;
$prijshond = 2.50;
$prijsbijzettent = 4.00;
$pernacht1 = 19.40 + ($aantalvolwassenen * $prijsvolwassenen) + ($aantalkinderen * $prijskinderen);
if($aantalvolwassenen == 1 && $aantalkinderen == 0 or !isset($aantalkinderen)){
$pernacht2 = $pernacht1 - $prijsvolwassenen;
}
elseif($aantalvolwassenen >= 2){
$pernacht2 = $pernacht1 - ($prijsvolwassenen + $prijsvolwassenen);
}
elseif($aantalvolwassenen == 1 && $aantalkinderen >= 1){
$pernacht2 = $pernacht1 - ($prijsvolwassenen + $prijskinderen);
}
elseif($aantalvolwassenen == 0 or !isset(aantalvolwassenen){
$pernacht2 = $pernacht1;
}
[b]if($hond == 'ja'){
$pernacht3 = $pernacht2 + $prijshond;
} else {
$pernacht3 = $pernacht2;
}[/b]
if($bijzettent == 'ja'){
$pernacht3 = $pernacht2 + $prijsbijzettent;
} else {
$pernacht3 = $pernacht2;
}
echo 'Prijs per nacht: '.$pernacht3;
?>
Ik zit alleen met een probleem, als je aangeeft dat je een hond meeneemt moet er 2,50 euro per nacht bijkomen, dat doet het niet.
Hier is een online voorbeeld te zien: Klik hier
PS: Het is een test script dus sommige dingen werken nog niet, ik wil alleen dit weten
Gewijzigd op 12/06/2011 12:28:07 door Stef Jager
- Regel 2-21 zijn onnodig en kosten alleen maar tijd. Gebruik gewoon de superglobals in je script.
- Kijk niet of de waarde van $_POST['hond'] ja is, maar kijk of $_POST['hond'] gezet is (met isset)
- Laat je code eens wat inspringen, dat maakt het veel beter leesbaar:
- Kijk niet of de waarde van $_POST['hond'] ja is, maar kijk of $_POST['hond'] gezet is (met isset)
- Laat je code eens wat inspringen, dat maakt het veel beter leesbaar:
Ik weet dat regel 2-21 onnodig zijn, maar het was even om te testen.
Ik heb het script nu zo:
Maar dan wordt de prijs van de hond er nog steeds niet bij opgeteld.
Ik heb het script nu zo:
Code (php)
Maar dan wordt de prijs van de hond er nog steeds niet bij opgeteld.
Gewijzigd op 12/06/2011 12:41:09 door Stef Jager
$prijshond waar is deze gevuld?
Zie regel 20 van het script in het eerste bericht.
doe anders even een print_r($_POST), dan kun je controleren of $_POST['hond'] ook daadwerkelijk gepost wordt
Hond word wel gepost, dus ik weet niet wat het probleem is.
Er klopt wel meer in je code niet. Plak hem voor de gein eens in een IDE (b.v. Netbeans) en kijk naar de wat je ziet.
Op regel 34 mis je een $ en een ).
Gebruik ook identing (tabs) als je in een IF statement zit, dan wordt alles een stuk leesbaarder.
Zet bovenaan je code eens:
Op regel 34 mis je een $ en een ).
Gebruik ook identing (tabs) als je in een IF statement zit, dan wordt alles een stuk leesbaarder.
Zet bovenaan je code eens:
Gewijzigd op 12/06/2011 15:42:14 door Erik van de Locht




