hi,
Mein Problem greift das Problem meines Threats "Pflichtfelder feststellen" auf, bezieht sich nun aber auch auf die gezielte Übernahme der Feldinhalte der einzelnen Formularfelder.
dass ich es nicht für sonderlich sinnvoll halte, die deklaration der pflichtfelder vom client übergeben zu lassen, weil ich sie damit eben ganz schnell zu nicht-pflichtfeldern machen kann, hatte ich dir ja in deinem ersten thread schon gesagt ...
echo '<form method="post" action="' . $PHP_SELF . '">
<input type="hidden" name="Aktion" value="Speichern">
<input type="hidden" name="Felder" value="$Name,$eMail,$Homepage,$Text">
dass $Name, $eMail etc. hier nicht durch ihre werte ersetzt werden, ist beabsichtigt?
$Array_Felder = explode (",", $_POST ['Felder']); // [2]
da stehen jetzt also die textstrings $Name, $Email etc. drin.
for ($i = 0; $i < count ($Array_Felder); $i++)
{
$Array_Felder [$i] = isset ($_POST [$Array_Felder [$i]]) ? $_POST [$Array_Felder [$i]] : ""; // [3]
was ergibt denn jetzt $_POST [$Array_Felder [$i]]?
da wie gesagt in $Array_Felder nur $Name, $eMail etc. drin stehen, erfolgen hier jetzt also zugriffe auf
$_POST['$Name']
$_POST['$eMail']
etc.
die namen deiner formularfelder sind aber Name, eMail etc. - natürlich nicht mit vorangestelltem $-zeichen. das passt hier also schon mal nicht zusammen ...
if ($Pflichtfeld [$Array_Felder [$i]]
gleiches problem, die indizes von $Pflichtfeld lauten _nicht_ $Name, $eMail, etc.
gruß,
wahsaga
"Look, that's why there's rules, understand? So that you _think_ before you break 'em."