Hi!
So weit so gut, nur, dass jedes Mal eine Fehlermeldung behauptet, die Sicherheitsabfrage wäre falsch beantwortet und somit lässt sich das Formular nicht abschicken. Woran könnte das liegen? Hat Jemand eine Idee?
Wie üblich, wenn Wunsch und Wirklichkeit nicht übereinstimmen, muss man mit Debugging die Ursache ermitteln. Um die Stelle mit dem Fehler zu finden, lass dir alle relevanten Variableninhalte mit var_dump() anzeigen und prüfe, ob sie deinen Vorstellungen entsprechen. Ebenfalls hilfreich ist, das error_reporting auf E_ALL (und display_errors auf on) zu stellen, damit man Zugriffe auf nicht vorhandene Variablen zu sehen bekommt.
if(array_key_exists("securitybox",$pflichtfelder) && $key == 'securitybox')
Wie soll das ein Außenstehender nachvollziehen können, wenn du anscheinend mitten aus dem Code zitierst. Was ist (in) $pflichtfelder und $key?
if($_SESSION['securitybox'] != $_POST['securitybox'] || empty($_POST['securitybox'])){
Es wäre sinnfoll, zuerst empty($_POST['securitybox']) zu testen, denn wenn $_POST['securitybox'] nicht vorhanden ist, erzeugt der erste Vergleich bereits eine Notice-Meldung. empty() und isset() testen stillschweigend auch nicht vorhandene Variablen.
Lo!