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!