Hallo wahsaga...
ich habe ein Beispiel zum testen.
Hier geht (anstatt von valid_input) eine foreach-Schleife alle POST-Werte durch und erzeugt für die Schlüssel des Arrays einen neuen Variablennamen (Präfix). Auch hier funktioniert list() nur vor der Behandlung der POST-Daten. Warum?
<?php
echo "<h1>SELFFORUM - TEST</h1>";
echo "<h3>Ausgabe vor foreach - POST</h3>";
while(list($strName,$value) = each($_POST)) {
if(is_array($value)) {
foreach($value as $value_array) {
echo $strName.": ".$value_array."\n";
}
}
else {
echo $strName.":".$value."\n";
}
}
echo "<h5>Kontrolle (print_r)</h4>";
print_r($_POST);
echo "<hr/>";
echo "<strong style=\"color:red\">foreach - Schleife</strong>";
foreach ($_POST as $key=>$value) {
${"praefix_".$key} = $value;
}
echo "<hr/>";
echo "<h3>Ausgabe nach foreach - POST</h3>";
while(list($strName,$value) = each($_POST)) {
if(is_array($value)) {
foreach($value as $value_array) {
echo $strName.": ".$value_array."\n";
}
}
else {
echo $strName.":".$value."\n";
}
}
echo "<h5>Kontrolle (print_r)</h4>";
print_r($_POST);
echo "<hr/>";
echo "<h4>FORMULAR</h4>";
echo "<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">";
echo "<p><input type=\"text\" name=\"inputfeld\" value=\"\"/></p>";
echo "<input type=\"submit\" value=\"senden\"/>";
echo "</form>";
?>
Gruß
Kim N.