Hallo,

Ik ben met een vakopleiding webdesigner bezig en heb een opdracht waar ik een if else statement moet maken na een form. Echter lukt mij dit niet en weet ik niet precies wat ik fout doe.

Op de index.html file heb ik de volgende code staan:
<!doctype html>
<html>
<body>
	<form action="bestellen.php" method="post">
		Naam: <input type="text" name="naam"><br>
		Leeftijd: <input type="text" name="leeftijd"><br>
		Naam van het spel: <input type="text" name="spel"><br>
		Aantal: <input type="text" name="aantal"><br>
		Prijs per stuk: <input type="text" name="prijs"><br>
		Leeftijdscategorie: <select name="leeftijdscategorie">
			<option value="Alle leeftijden">Alle leeftijden</option>
			<option value="+12 jaar">+12 jaar</option>
			<option value="+14 jaar">+14 jaar</option>
			<option value="+18 jaar">+18 jaar</option>
		</select>
		<input type="submit">
	</form>
</body>
</html>


Na op submit geklikt te hebben kom je dus op bestellen.php en daar is uiteindelijk de bedoeling dat er een if else statement komt dat bepaald of je het spel mag kopen. Die voorwaarde moet ik nog veranderen daarin maar voor nu wou ik eerst even een if else statement werkende maken.

<!doctype html>
<html>
<body>
<?php
if ($leeftijd == 5)
	Dankuwel <?php echo $_POST["naam"]; ?> voor uw bestelling!<br>
	We hebben uw bestelling van <?php echo $_POST["aantal"]; ?> <?php echo $_POST["spel"]; ?> voor <?php echo $_POST["leeftijdscategorie"]; ?> ontvangen!<br>
	Uw leeftijd: <?php echo $_POST["leeftijd"]; ?><br>
	Prijs per stuk: <?php echo $_POST["prijs"]; ?><br>
	Totaal: <?php echo $_POST["prijs"]*$_POST["aantal"]; ?><br>
else
	De statement is incorrect.
?>
</body>
</html>


Dit is de foutmelding die ik krijg na submit geklikt te hebben:

Parse error: syntax error, unexpected '?' in C:\xampp\htdocs\bestellen.php on line 6


Zou iemand mij hiermee kunnen helpen of de juiste richting in wijzen?
Alvast bedankt!

Kevin
<?php
if()
{
?> ...
<?php
}
else
{
?> ...
<?php
}
?>

[size=xsmall]Toevoeging op 05/06/2017 15:26:02:[/size]

Kevin Bruin op 05/06/2017 15:21:57

Ik heb $leeftijd bij index.html in de form gedefineerd als ik het goed heb.


Maar dan komt ie binnen als $_POST['leeftijd'].
Oke dus echt ieder gedeelte moet apart dus aangegeven worden als php. Dat werkt inderdaad, alleen het $leeftijd gedeelte geeft hij nog een foutmelding bij.
- SanThe - op 05/06/2017 15:24:32

[quote="Kevin Bruin op 05/06/2017 15:21:57"]
Ik heb $leeftijd bij index.html in de form gedefineerd als ik het goed heb.


Maar dan komt ie binnen als $_POST['leeftijd'].
[/quote]

Het werkt!


<!doctype html>
<html>
<body>
<?php
if ($_POST['leeftijd'] == 5)
{?>
	Dankuwel <?php echo $_POST["naam"]; ?> voor uw bestelling!<br>
	We hebben uw bestelling van <?php echo $_POST["aantal"]; ?> <?php echo $_POST["spel"]; ?> voor <?php echo $_POST["leeftijdscategorie"]; ?> ontvangen!<br>
	Uw leeftijd: <?php echo $_POST["leeftijd"]; ?><br>
	Prijs per stuk: <?php echo $_POST["prijs"]; ?><br>
	Totaal: <?php echo $_POST["prijs"]*$_POST["aantal"]; ?><br>
<?php
}
else
{?>
	De statement is incorrect.
<?php
}?>
</body>
</html>


Heel erg bedankt allemaal!

Ik zie nu ook inderdaad dat $leeftijd alleen werkt als ik het in het zelfde bestand eerst defineer, wist niet dat je $_POST ook in de if statement kon gebruiken ^^
Als je input van de gebruiken in een echo zet is het slim om dat te beveiligen.
Kijk eens naar [php]htmlentities[/php]().

Vul bij naam van het spel maar eens dit in: <script>alert('hoi');</script>

Reageren