Week 5 – Backend Validatie;
In week 5 zorg je dat gebruikersinvoer gecontroleerd wordt op de server.
Je vertrouwt nooit alleen op HTML-validatie.
Wat moet je kennen (samenvatting)
- Waarom backend validatie nodig is
trim()gebruikenempty()controlerenstrlen()gebruiken voor minimale lengteis_numeric()gebruiken voor getallenexit;gebruiken om uitvoering te stoppen
1. Waarom backend validatie?
Uitleg
HTML-validatie (zoalsrequired) kan worden omzeild.
Daarom controleer je invoer altijd opnieuw in PHP.
Wat moet je kennen
- Frontend validatie is niet genoeg
- Server controleert altijd
- Foute invoer moet worden gestopt
De server beslist. Niet de browser.
2. Lege velden controleren
Uitleg
Metempty()controleer je of een veld leeg is.
Mettrim()verwijder je spaties aan het begin en einde.
Wat moet je kennen
trim()empty()exit;
Voorbeeld
$naam = trim($_POST['naam'] ?? '');
if (empty($naam)) {
echo "Naam is verplicht.";
exit;
}
Eerst opschonen (trim()), daarna controleren.
3. Minimale lengte controleren
Uitleg
Soms moet invoer een minimale lengte hebben.
Bijvoorbeeld: minimaal 3 karakters.
Wat moet je kennen
strlen()- Vergelijken met
<
Voorbeeld
if (strlen($naam) < 3) {
echo "Naam moet minimaal 3 karakters hebben.";
exit;
}
4. Controleren of iets een getal is
Uitleg
Als een veld een getal moet zijn (bijv. leeftijd), controleer je dit expliciet.
Wat moet je kennen
is_numeric()- Negatie met
!
Voorbeeld
$leeftijd = $_POST['leeftijd'] ?? '';
if (!is_numeric($leeftijd)) {
echo "Leeftijd moet een getal zijn.";
exit;
}
Vertrouw nooit blind op invoer.
Veelgemaakte fouten (kort)
1. Alleen HTML-validatie gebruiken
❌ Alleen required in je form zetten
✅ Altijd ook controleren in PHP
2. trim vergeten
$naam = $_POST['naam'];
$naam = trim($_POST['naam'] ?? '');
3. Geen exit gebruiken
❌ Script gaat door na foutmelding
✅ Gebruik exit; om verdere uitvoering te stoppen