Ik ben bezig met een boekingssysteem voor een camping en ik heb nu de volgende code geschreven om de prijs per nacht te berekenen:

<?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;
}

if($hond == 'ja'){
$pernacht3 = $pernacht2 + $prijshond;
} else {
$pernacht3 = $pernacht2;
}


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
- 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 [php]isset[/php])
- Laat je code eens wat inspringen, dat maakt het veel beter leesbaar:
<?php
if($iets == 'iets')
{
echo 'De waarde van de var iets is iets!';
}
Ik weet dat regel 2-21 onnodig zijn, maar het was even om te testen.

Ik heb het script nu zo:

<?php
if(isset($_POST['hond'])){
$pernacht3 = $pernacht2 + $prijshond;
} else {
$pernacht3 = $pernacht2;
}
?>
Maar dan wordt de prijs van de hond er nog steeds niet bij opgeteld.
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:
<?php
error_reporting(E_ALL);
?>

Reageren