Alle variablen eines formulars in php anzeigen lassen
Armin Plöger
- php
0 Hopsel0 Armin Plöger0 Hopsel0 Armin Plöger0 Chris©
Hallo ich habe eine frage.
Ich möchte eine senden.html mit vielen Formularfeldern machen.
Die anzeige.php wohin das Formular die Werte schickt soll mir dann anzeigen welche namen die einzelnen Felder haben ohne das ich Sie vorher in der PHP definiere.
Um es anders zusagen er soll ein Catch all von allen POST Variablen machen und anzeigen. Feldname und Feldwert
Kann mir jemand sagen wie ich sowas realisieren kann ?
Gruss Armin
senden.html
<form name="form1" method="post" action="anzeige.php">
<p>Eintag 1
<label>
<input name="textfeldname1" type="text" id="textfeldname11">
</label>
</p>
<p>eintrag 2
<input name="textfeldname2" type="text" id="textfeldname2">
</p>
<p>
<label>
<input type="submit" name="Submit" value="Senden">
</label>
</p>
<p> </p>
</form>
anzeige.php
<?php
echo "Diese formularfelder hatte das formular <br>";
echo "Hier sollen nun ALLLE post variablen angezeigt werden die die senden.html hat<br>";
?>
Hi Armin!
Mit foreach
kannst du alle Elemente eines Arrays durchlaufen:
foreach ($_POST as $item) {
echo $item."\n";
}
MfG H☼psel
Hi Armin!
Mit
foreach
kannst du alle Elemente eines Arrays durchlaufen:
foreach ($_POST as $item) {
echo $item."\n";
}
>
> MfG H☼psel
Hi H☼psel
habe deinen tipp gerade getestet. Soweit klappt es, mir werden die werte der Variablen angezeigt.
Wie bekomme ich es nun hin das mir auch der name der Variable angezeigt wird ? also das was ich sonst mit $\_POST['name] mache ?
Danke im vorrauss
Gruss Armin
Hi Armin!
Wie bekomme ich es nun hin das mir auch der name der Variable angezeigt wird ? also das was ich sonst mit $_POST['name] mache ?
Zitiere bitte nur die betreffenden Zeilen.
Im Manual wärst du fündig geworden:
foreach ($_POST as $key => $value) {
echo $key.': "'.$value.'"'."\n";
}
MfG H☼psel
Re,
Ich wollte auch eigentlich nix Zitieren aba nun ja ;-)
Es klappt super ich danke dir viel mals
Gruss Armin
Hallo,
foreach ($_POST as $key => $value) {
echo $key.': "'.$value.'"'."\n";
Der Ordnung halber sollte man die Ausgabe noch kontextgerecht aufbereiten:
foreach ($_POST as $key => $value) {
echo htmlspecialchars($key) . ' ==> ' . htmlspecialchars($value) . "\n";
oder so ähnlich. Sonst zerschießt es ggf. die Ausgabe im Browser.
LG
Chris©
Hi Chris©!
Der Ordnung halber sollte man die Ausgabe noch kontextgerecht aufbereiten:
Sonst zerschießt es ggf. die Ausgabe im Browser.
Ich ging von einer einfach Textausgabe aus. Der Browser interpretiert ja auch den Zeilenumbruch "nur" als Leerzeichen.
MfG H☼psel
Hallo Hopsel,
Der Ordnung halber sollte man die Ausgabe noch kontextgerecht aufbereiten:
Sonst zerschießt es ggf. die Ausgabe im Browser.
Ich ging von einer einfach Textausgabe aus. Der Browser interpretiert ja auch den Zeilenumbruch "nur" als Leerzeichen.
Da hast Du natürlich Recht.
Habe ich auch noch vergessen.
Also entweder die Ausgabe noch in <pre> ... </pre> verpacken, oder die Umbrüche noch mit nl2br(htmspecialchars( .... )) erzeugen.
Aber solche kleinen Schlampigkeiten "mal eben schnell eine Ausgabe hinrotzen" ;-) setzen sich nachher fest und man macht's dann imm er so...
LG
Chris©