Это нормально, что в ваш массив ошибок ничего не добавляется.Функция isset ($ _ POST ['что-нибудь']) будет только проверять, установлено ли это поле в вашем посте var.
Сообщение var заполняется вашей формой.
Обычно, если ваша форма содержит 7 полей ввода, все эти поля ввода будут помещены в $ _POST.
Печать вашей переменной $ _POST будет выглядеть примерно так:
print_r($_POST);
result:
array('element_1'=>'','element_2'=>'' ...
, поэтому ваша функция isset проверит, имеет ли значение element_xустановлен, он просто ничего не содержит.
вам нужно переписать ваши чеки, чтобы они проверяли содержимое, а не существование.Isset используется только при проверке fe $ _GET переменных, если вы не уверены, что они установлены, и не публикуете переменные в форме (так как они всегда будут установлены).
Я бы предложил переписать ваши чеки в виде:
$naamarray["naam"]=true;
$naamarray["voornaam"]=true;
$naamarray["adres"]=true;
$naamarray["woonplaats"]=true;
$naamarray["postcode"]=true;
$naamarray["telefoonnummer"]=true;
$naamarray["geboortedatum"]=true;
$naamarray["adres"]=true;
$naamarray["wachtwoord"]=true;
$naamarray["email"]=true;
if($_POST['element_1'] == ""){
$naamarray["naam"]=false;
}
сделать это для всех ваших чеков.также поменяйте цикл foreach:
foreach($naamarray as $key => $value){
if($value == true){
array_push($errorArray,$key);
}
}
У меня также есть некоторые сомнения по поводу возврата функции перед вашей формой.Я думаю, что более понятно создать функцию и просто включить страницу php вместо этого.
тогда вы получите код наподобие:
require_once('inc/functions.php');
if ($_SERVER['REQUEST_METHOD'] == "POST") {
babysitterToevoegenAanDB();
} else {
babysitterForm();
}
И последний совет: дайте вашему полю ввода ясные имена, а не просто element_x ....