Valideren

PHP string functies zijn erg nuttig om aan de serverkant formuliergegevens te valideren. Daarbij is de multipass script techniek erg behulpzaam: het maken van een formulier, de validatiecode en de actie in één script. Als het script voor de eerste keer wordt uitgevoerd, verschijnt er een leeg formulier. Als je op de knop drukt, wordt het script opnieuw aangeroepen. Als de data niet correct zijn, wordt het formulier weer getoond (met de gegevens die wel juist zijn, zodat de gebruiker die niet nog een keer hoeft in te vullen) samen met een foutmelding erbij. Als de ingevulde gegevens correct zijn wordt de eigenlijke scriptactie uitgevoerd.

In dit onderdeel laten we zien hoe je kunt controleren of de gegevens in een formulier wel correct zijn ingevuld.

Als je het script runt, krijg je een formulier te zien dat er ongeveer zo uitziet:

 

We testen het script door niet alle gegevens in te vullen en vervolgens op “Log in” te klikken. We doen dat door eerst niets in te vullen, vervolgens alleen een naam in te vullen en tot slot alleen het e-mailadres in te vullen. Vul je alleen je naam in dan krijg je bijvoorbeeld de melding dat je nog je e-mailadres moet invullen. Dit is te zien in het onderstaande scherm.

De controle zou als volgt kunnen:

<?php
if(!empty($_POST) and empty($_POST['email']))
{
    echo "<p style=\"font-weight:bold; color:red\">
        * * Je moet nog je e-mailadres invullen
        </p>";
}
?>

De foutmelding wordt alleen uitgevoerd als er iets is verstuurd en als $_POST['email'] leeg is.

Op deze manier kan je redelijk eenvoudig valideren.

Je kan ook aan de client kant valideren door attribute required toe te voegen.

<b>E-mail: </b><input type="email" name="email" required><br>