dedlfix: Generierte Inputfelder ausgeben

Beitrag lesen

Tach!

foreach($_POST as $key => $value){
    echo "$key => $val" . "<br>";
}


> > Kapitaler Fehler!! Nutzereingaben dürfen NIEMALS unbearbeitet ausgegeben werden.  
> und wie waere dann die richtige/vollstaendige Antwort??  
  
~~~php
echo '<pre>';  
print_r($_POST); // oder auch var_dump($_POST)

Es handelt sich vermutlich um eine Ausgabe zu Debug- und Verständniszwecken im heimischen Labor. Da sind großartige Sicherheitsmaßnahmen (und selbst ein schließendes </pre>) in der Regel unnötig.

Allerdings hat der OP nicht genau benannt, zu welchem Zweck er die Ausgabe haben möchte. Deswegen kann eine "richtige/vollstaendige Antwort" nicht gegeben werden. Der Hinweis, dass htmlspecialchars() verwendet werden kann, hatte Gunnar in seiner Antwort stehen. Weitere Möglichkeiten je nach Szenario habe ich mit dem Verweis auf den Kontextwechselartikel nachgereicht.

Aber gut, den obigen Code für den Kontext HTML in vollständig:

foreach ($_POST as $key => $value)  
  printf("%s => %s<br>\n", htmlspecialchars($key), htmlspecialchars($value));

Man könnte nun auch noch das > von => als $gt; notieren, aber unbedingt notwendig ist das nicht (bei einem < sähe das anders aus).

dedlfix.