$_POST-variablen extrahieren?
Roger
- php
0 Thomas Luethi0 Uschi Renziehausen0 Tom
0 Tom
hallo!
per get_defined_vars() kann man sich ja alle definierten variablen ausgeben lassen.
kann man auch einen schritt weiter gehen und nur alle per post übergebenen variablen ausgeben lassen? am liebsten noch formatiert (name, wert).
hat jemand eine idee?
gruß.
roger.
Hallo,
per get_defined_vars() kann man sich ja alle definierten variablen ausgeben lassen.
kann man auch einen schritt weiter gehen und nur alle per post übergebenen variablen ausgeben lassen? am liebsten noch formatiert (name, wert).
print_r() koennte Dir weiterhelfen:
print("<pre>");
print_r($_POST);
print("</pre>");
http://www.php.net/manual/de/function.print-r.php
Auch mit foreach() solltest Du etwas hinkriegen, z.B. so:
foreach($_POST as $key => $value)
{ print(htmlspecialchars("Name: [$key] Wert: [$value]")."<br>"); }
http://www.php.net/manual/de/control-structures.foreach.php
Denk aber an die Sicherheit!
Obigen Code wuerde ich nur verwenden, wenn ich sicher bin, dass
ich der einzige bin, der etwas ans Skript schicken kann.
Bei oeffentlichen Dingen muss man natuerlich sorgfaeltiger sein
und darf die uebergebenen Werte nicht einfach so ausgeben.
http://www.dclp-faq.de/q/q-security-variablen.html
Gruesse,
Thomas
Hallo,
Auch mit foreach() solltest Du etwas hinkriegen, z.B. so:
foreach($_POST as $key => $value)
{ print(htmlspecialchars("Name: [$key] Wert: [$value]")."<br>"); }
das war's lars!
danke!
gruß.
roger.
Hi Roger,
da kannst Du mal sehen, wie schnell hier bei anständiger Fragestellung bedient wird :-))
Grüße
Tom
hallo,
das geht in etwa so:
if($_SERVER['REQUEST_METHOD'] == 'POST') {
echo "<table>"\n";
foreach($_POST as $key=>$value) {
echo "<tr><td>$key</td><td>$value</td></tr>\n";
}
echo "</table>\n";
}
lieben Gruß, Uschi
hallo,
das geht in etwa so:
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
echo "<table>"\n";
foreach($_POST as $key=>$value)
{
echo "<tr>
<td>$key</td>
<td>htmlspecialchars($value)</td>\n".
"</tr>\n";
}
echo "</table>\n";
}lieben Gruß, Uschi
und bei meiner Lösung fehlte das
echo "<pre>";
print_r($_POST);
echo "</pre>";
noch lieberen Gruß
Tom
Hallo,
echo "<td>htmlspecialchars($value)</td>\n";
Wenn schon so:
echo "<td>".htmlspecialchars($value)."</td>\n";
Zwischen doppelten Anfuehrungszeichen werden zwar Variablen analysiert (geparst),
aber Funktionen nicht...
Gruesse,
Thomas
Hi Roger,
warum so kompliziert?
print_r($_POST);
tut es doch auch (fast).
Leider arbeitet print_r() nicht mit htmlspecialchars, sondern gibt die Werte so aus, wie sie sind. Das führt manchmal zu merkwürdigen Ergebnissen. Da sollten die bei PHP einen Schalte einbauen...
Grüße
Tom