Armin Plöger: Alle variablen eines formulars in php anzeigen lassen

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>&nbsp;   </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>";
?>

  1. Hi Armin!

    Mit foreach kannst du alle Elemente eines Arrays durchlaufen:

    foreach ($_POST as $item) {  
       echo $item."\n";  
    }
    

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    1. 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
      
      1. 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

        --
        "It's amazing I won. I was running against peace, prosperity, and incumbency."
        George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
        Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
        1. Re,
          Ich wollte auch eigentlich nix Zitieren aba nun ja ;-)

          Es klappt super ich danke dir viel mals

          Gruss Armin

        2. 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) . ' ==&gt; ' . htmlspecialchars($value) . "\n";

          oder so ähnlich. Sonst zerschießt es ggf. die Ausgabe im Browser.

          LG
          Chris©

          1. 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

            --
            "It's amazing I won. I was running against peace, prosperity, and incumbency."
            George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
            Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
            1. 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©