De volgende pagina wordt keurig getoond via localhost

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
<title>test formulier</title>
</head>
<body>
<form name=\"formulier1\" action=\"formulier1.php\" method=\"get\">
Voer alstublieft uw voornaam in: <input type=text name=voornaam><br><br>
Voer alstublieft uw achternaam in: <input type=text name=achternaam><br><br>
<input type=submit name=verzenden>
</form>
<?php
if($verzenden){
echo \"<b>Hartelijk welkom, $voornaam $achternaam.</b>\";
}
?>
</body>
</html>

als ik een voornaam en een achternaam invul en daarna op verzenden klik

dan wijzigt de URL in http://localhost/formulier1.php?voornaam=Kees&achternaam=Groen&verzenden=

En de pagina met het formulier komt met lege velden terug

De Url zou er eigenlijk volgens het boek als volgt uit moeten zien
http://localhost/formulier1.php?voornaam=Kees&achternaam=Groen&verzenden=Submit+Query

Wat doe ik fout of waarom gaat het niet zoals in het boek (PHP 4 zonder stress) staat
Negeer dit bericht maar
er gaat iets niet helemaal goed tijdens het plaatsen
ik ga dat eerst proberen te verbeteren
<form name="formulier1" action="formulier1.php" method="get">
Voer alstublieft uw voornaam in: <input type="text" name="voornaam"><br><br>
Voer alstublieft uw achternaam in: <input type="text" name="achternaam"><br><br>
<input type="submit" name="verzenden">
</form>

Dat het formulier weer getoond wordt nadat je op verzenden hebt geklikt, komt doordat php niet weet dat het formulier verzonden is en dus de php afwerking moet beginnen. Dat moet waarschijnlijk door deze regel gebeuren:
if($verzenden){

Als je daarvan maakt:
if(isset($_GET['verzenden'])) {
zal het waarschijnlijk wel werken.

En die error op phphulp komt wel vaker voor, heeft met escapen in php te maken, je kan het oplossen door de code niet in php te zetten of niet te escapen.

Reageren