Kim N.: list() funktioniert nicht

Beitrag lesen

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.