dedlfix: Ein für mich schwierig zu beschreibendes Problem

Beitrag lesen

Hi!

if (isset ($_REQUEST ["Name"]))

Warum das unspezifische $_REQUEST und nicht $_GET oder $_POST, so wie du das beim Formularerstellen festgelegt hast?

$Name = $_REQUEST ["Name"];

Das enfache Umkopieren bekommt man zwar ständig zu sehen, ist aber immer wieder sinnlos. Und das hat dich dann auch bei der Findung der Lösung behindert, weil dein Tunnelblick auf $Name lag. Wenn du stattdessen stets gleich mit $_GET/$_POST gearbeitet hättest, vielleicht ...

$Fehlermeldungen = array ();
   $Fehlermeldung   = "";

Wozu brauchst du $Fehlermeldung?

foreach ($_REQUEST AS $Feld => $Inhalt)
   {
      if (in_array ($Feld, $Erlaubte_Felder))
      {
         if (isset ($Feld))

Diese Prüfung ist sinnlos. Natürlich ist $Feld vorhanden und ungleich NULL, denn foreach hat es angelegt. Du willst jedoch $_REQUEST[$Feld] auf Existenz prüfen, was du aber auch nicht brauchst, denn wenn es nicht existiert, iteriert das foreach auch nicht drüber. Du muss über $Pflichtfelder iterieren und schauen, ob dazu ein Eintrag in $_REQUEST (bzw. $_GET/$_POST) vorhanden ist. Und das muss unabhängig von der $Erlaubte_Felder-Prüfung passieren.

Lo!