Tbv formulier validatie gebruik ik een array om alle fouten daarin op te slaan en om ze later weer te geven.
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$errors = [];
// Controleer de voornaam:
$voornaam= trim($_POST['voornaam']);
if (empty($voornaam)) {
array_push($errors,"Voornaam mag niet leeg zijn<br /");
}
Om te controleren of het mailadres reeds bestaat in DB gebruik ik, want overigens niet werkt en ik kom er niet uit waarom niet..
Als foutmelding krijg ik:
An error occurred in script '/register.php' on line 38: mysqli_num_rows() expects parameter 1 to be mysqli_result, bool given
// Controleer of het mailadres al bestaat
require('Inc/db-connection.php');
$checkingmail = mysqli_query($dbc, "SELECT * from behandelaars where Mailadres= '$mailadres'");
if(mysqli_num_rows($checkingmail) > 0)
{
$errors[]="Het mailadres is al in gebruik";
}
Aan het einde wil ik alle fouten uit de array halen en hiervoor gebruik ik de volgende code
foreach($errors as $error); {
echo "Helaas, de volgende foutmeldingen zijn opgetreden!<br />" . $error . "<br />";
Wanneer ik alle velden leeg laat en ik klik op verzenden, dan wordt de melding van de laatste inputfield weergegeven dat het niet leeg mag zijn en daarna ene laatste totdat het helemaal de eerste input field heeft gehad.
Dit vind ik vreemd en het liefste wil ik dat alle foutmeldingen direct worden weergegeven en niet eentje voor eentje.
Ik vraag mij af of een array de juiste methode hiervoor is..
Alvast bedankt voor het meedenken.