Met HTML-formulieren kun je input van gebruikers verzamelen en deze door PHP laten verwerken. Hier is een eenvoudig voorbeeld van een formulier waarmee een gebruiker zijn naam kan invoeren:
![]()
Hieronder de code om dit voor elkaar te krijgen
<!DOCTYPE html> <html> <head> <title>Formulier met PHP</title> </head> <body> <form method="get" action="formulier_controller.php"> Naam: <input type="text" name="naam" placeholder="Naam"> <input type="submit" value="Verstuur"> </form> </body> </html>
Verklaring:
<form method="get" action="formulier_controller.php">: Het formulier stuurt de ingevoerde gegevens naar formulier_controller.php voor verwerking. De method kan hier post of get zijn<input type="text" name="naam" placeholder="Naam">: Hier kan de gebruiker zijn naam invoeren.type="text"Het input veld is van type tekst. (andere opties zijn bv. email en number)name="naam" de variabele heet 'naam'placeholder="Naam" de gebruiker ziet een tekst in het veld staan "Naam'<input type="submit" value="Verstuur">: Hiermee wordt het formulier verzonden.value="Verstuur" de button heeft de tekst "Verstuur"Als het formulier wordt verstuurd dan wordt script formulier_controller.php aangeroepen.
De code in dit script zou kunnen zijn:
<?php if (isset($_GET['naam'])) { $naam = $_GET['naam']; echo "Hallo, " . htmlspecialchars($naam) . "!"; }
Verklaring:
if(isset($_GET['naam'])){ Dit controleert of er een variabele 'naam' is verstuurd$_GET['naam']: Dit haalt de ingevoerde naam op uit het formulier (variabele).htmlspecialchars(): Deze functie beschermt tegen het invoeren van schadelijke HTML-code door de gebruiker.De bestanden zijn hier te vinden:
formulier.php
Download deze bestanden en zet deze in /root/D van je USBwebserver kijk of het werk.
Waarom htmlspecialchars()
De functie htmlspecialchars() is essentieel in PHP om te voorkomen dat kwaadwillenden HTML- of JavaScript-code in je website injecteren, wat kan leiden tot beveiligingsproblemen zoals cross-site scripting (XSS).
Stel je voor dat je gebruikers de mogelijkheid geeft om tekst in te voeren op je site, zoals een naam of een bericht. Zonder htmlspecialchars() kan iemand HTML-tags of JavaScript-scripts invoeren in plaats van gewone tekst. Als je die invoer vervolgens direct op de pagina weergeeft, wordt de code uitgevoerd in de browser van andere gebruikers, wat schadelijk kan zijn.
Hoe werkt htmlspecialchars()?
De functie htmlspecialchars() zet speciale karakters, zoals `<`, `>`, en `&`, om naar veilige HTML-entiteiten, bijvoorbeeld:
Hierdoor wordt gebruikersinvoer als gewone tekst weergegeven en niet als uitvoerbare code.
Voorbeeld
// Zonder htmlspecialchars()
echo $_GET['username'];
// Met htmlspecialchars()
echo htmlspecialchars($_GET['username']);
In het tweede voorbeeld voorkomt `htmlspecialchars()` dat eventuele tags in de gebruikersinvoer als HTML of JavaScript worden geïnterpreteerd. Het is dus een belangrijke functie voor de veiligheid en betrouwbaarheid van je website.