# Formulieren gebruiken

Het komt regelmatig voor dat je op een webpagina een formulier moet invullen. Voor het verwerken van gegevens die worden ingevuld in een formulier kan PHP worden gebruikt. De gegevens kunnen worden weggeschreven naar een database, maar het is ook mogelijk om de ingevoerde data op een nieuwe of op dezelfde pagina op te vragen.
Onze PHP-editor kan ook formulieren afhandelen. We laten dat zien aan de hand van een formulier waarin NAW-gegevens ingevuld kunnen worden. Deze gegevens worden op een andere pagina weergegeven. Als eerste zie je de HTML-code die je nodig hebt voor het formulier. Het resultaat van de verwerkte HTML-code is een formulier waar naam, adres en woonplaats kunnen worden ingevuld.

<!DOCTYPE html>
<html lang="nl">
<head>
<title>invoeren NAW-gegevens</title>
<meta charset="utf-8">
</head>
<body>
<form name="form1" method="post" action ="naw.php">
<p>Vul hieronder je naam, adres en woonplaats in:</p>
<p><input type = "text" size = "25" name = "naam"></p>
<p><input type = "text" size = "25" name = "adres"></p>
<p><input type = "text" size = "25" name ="woonplaats"></p>
<p><input type = "submit" value = "Verstuur"></p>
</form>
</body>
</html>

Het formulier is als een .html bestand opgeslagen.
Er staat immers geen enkele PHP-code in.

Laten we de code van het formulier eens nader bekijken. Een formulier wordt altijd geopend met de tag <form> en afgesloten met de tag </form> In de openingstag staan nog drie attributen: name, method en action. Een formulier kan een naam meekrijgen. Het attribuut method zegt iets over hoe het formulier gegevens uitwisselt met de webserver. Daarvoor kan in PHP gebruik gemaakt worden van get of post. In ons voorbeeld is gekozen voor post. Later in deze module leggen we het verschil uit. Het attribuut action heeft de waarde “naw.php” meegekregen. Daarmee regelen we dat bij het klikken op de knop dat de server het bestand naw.php uitvoert. De inhoud van het formulier wordt daarbij naar de pagina naw.php verzonden. Wanneer de action wordt weggelaten zullen de gegevens naar de huidige pagina worden verstuurd. Verder treffen we in het formulier bij de diverse invoervelden een attribuut name aan. Dit attribuut wordt gebruikt voor de naamgeving van de variabelen die gepost worden. In ons voorbeeld zijn dat: naam, adres en woonplaats. In de HTML-pagina zien we dat de gegevens uit het formulier worden gepost. Dat wil zeggen dat ze worden verstuurd naar de server en opgeslagen in een variabele array $_POST. De variabelen naam, adres en woonplaats worden dus opgeslagen in de array $_POST.
De code van naw.php is:

<?php
$naam = $_POST["naam"];
$adres= $_POST["adres"];
$woonplaats = $_POST["woonplaats"];
?>
<!DOCTYPE html>
<html lang="nl">
<head>
<title>verwerken NAW-gegevens</title>
<meta charset="utf-8">
</head>
<body>
<h4>Je ingevulde NAW-gegevens zijn:</h4>
<?php
echo $naam . "<br>";
echo $adres . "<br>";
echo $woonplaats . "<br>";
?>
</body>
</html>

Door te klikken op de knop verstuur wordt het bestand naw.php aangeroepen en de ingevulde gegevens verwerkt.