Array Formular

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Array Formular

    Hallo,
    ich habe mich gerade mit Array`s beschäftigt und habe zum Testen einfach mal diesen kleinen Code geschrieben:

    <html>
    <body><title>Array Funktionen</title></body>

    <?php

    // 1. und 2. - Zeile

    $pers = array(array("Mutter&nbsp;","sagt:&nbsp;", "<b>Hallo</b>"),
    array("Vater&nbsp;","sagt:&nbsp;","<b>Guten Tag</b>"));

    // 3. Zeile
    $pers[2][0] = "Kind&nbsp;";
    $pers[2][1] = "sagt:&nbsp;";
    $pers[2][2] = "<b>Hi</b>";


    for($i=0; $i<3; $i=$i+1)
    {
    for($k=0; $k<4; $k=$k+1)
    {
    echo $pers[$i][$k] ."";
    }
    echo "<p>";
    }


    ?>
    </body>
    </html>
    Nun würde ich gern auf dieser Art ein Formular erstellen.
    Bloß weiß ich nicht wie ich das Anfangen soll mit den Input feldern und so.

    Ich weiß z.B. nicht, wie ich hinter

    "Mutter sagt: Hallo"

    ein Input Feld bekomme, da er ja erstmal alle 3 Sachen ausgibt sprich

    "Mutter sagt: Hallo"
    "Vater sagt: "Guten Tag"
    "Kind sagt: "Hi"

    Und ich ja dann erst Input Felder unter Kind anlegen könnte.

    Hat jemmand ne Ahnung wie ich das so mache:

    "Mutter sagt: Hallo" [INPUT FELD]
    "Vater sagt: Guten Tag" [INPUT FELD]
    "Kind sagt: Hi" [INPUT FELD]

    Danke schonmal
    Zuletzt geändert von Gonzo01; 17.08.2006, 08:40.

  • #2
    PHP-Code:
    echo 'Mutter sagt: Hallo '.$_POST['was_mutter_sagt'];
    //oder 
    echo 'Mutter sagt: Hallo <input type="text" name="was_mutter_sagt" value="'.$_POST['was_mutter_sagt'].'" />'
    obiges funzt natürlich nur wenn das Feld im Form auch 'was_mutter_sagt' heisst, sonst musst du es halt anpassen.
    Code:
    <form action="test.php" method="post">
    Mutter sagt: <input type="text" name="was_mutter_sagt" />
    ...
    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Hi,

      ich glaub nicht, dass das gemeint war @jahlives, es geht doch eher um die array-Sachen...

      Entweder so:
      PHP-Code:
      for($i=0$i<3$i=$i+1) {
           echo(
      "<p>");
           for(
      $k=0$k<3$k=$k+1) {
                echo 
      $pers[$i][$k];
           }
           echo 
      "<input type=\"text\" name=\"was_" $pers[$i][0] . "_sagt\"></p>";

      oder so:
      PHP-Code:
      for($i0$i 3$i++) {
          echo(
      "<p>" implode(""$pers[$i]) . "<input type=\"text\" name=\"was_" $pers[$i][0] . "_sagt\"></p>");

      PS: bei error_reporting(E_ALL) hätte er ne Warnung rausschmeißen müssen, wenn du in der inneren Schleife mit k bis 4 zählst.

      // edit: echo $bla ."" ist natürlich auch Quatsch.
      ich glaube

      Kommentar


      • #4
        @ministry
        Und wie interpretierst du dies
        Ich weiß z.B. nicht, wie ich hinter
        "Mutter sagt: Hallo"
        ein Input Feld bekomme,
        Und ausserdem für Arrays ist foreach() wie gemacht.

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Original geschrieben von jahlives
          Und ausserdem für Arrays ist foreach() wie gemacht.
          Genau so siehts aus.

          Kommentar


          • #6
            Original geschrieben von jahlives
            @ministry
            Und wie interpretierst du dies
            So wie ich das verstanden habe, wollte er eben ein input - Feld hinter jede Zeile, und nicht die $_POST ausgabe. Das sieht aus wie ein Beispiel aus einem Buch oder so, und er versucht die Schleife um jeweils ein input-Feld zu erweitern (in das man seinen Namen schreiben kann oder was weiß ich). Das Problem war mehr die Orientierung in der Schleife.... oder so.

            Original geschrieben von jahlives
            Und ausserdem für Arrays ist foreach() wie gemacht.
            Da hast du natürlich vollkommen Recht. Aber wie gesagt glaube ich, dass irgendein Beispiel erweitert werden sollte, und dann muss man ihn ja nicht gleich verwirren, indem man was ganz anderes vorschlägt.... aber ich kann mich natürlich täuschen
            ich glaube

            Kommentar


            • #7
              Sorry, dass ich mich nichtmehr gemeldet hab, aber ich habe den Code geändert und dannach keine Zeit mehr gehabt.

              Also folgendermaßen sieht der Code nun aus:

              <html>
              <head><title>Array Funktionen</title>
              <style type="text/css">
              body { background-color: silver; }
              </style>
              </head>
              <body>

              <?php

              $pers = array('Vorname','Nachname','Alter');

              foreach($pers as $feld => $wert)
              {


              $tr.=<tr><td>$feld</td><td><input name='$feld' value='$wert'></td></tr>;



              }

              ?>

              <table border="1">
              <?php echo $tr; ?>
              </table>
              </body>
              </html>
              Nun sollte er mir ja die Felder mit nem Input versehen und das ganze in einer Tabelle anzeigen.

              Ich bekomme aber denn Fehler

              "Parse error: parse error, unexpected '<' in /var/www/htdocs/manuel/Array4.php on line 17"

              Ich hab mir den Code nun paarmal angesehn, finde aber keine Lösung.

              Hat jmd nen Plan wo ich was falsch gemacht habe ?

              Danke

              Kommentar


              • #8
                Original geschrieben von Gonzo01
                Ich hab mir den Code nun paarmal angesehn, finde aber keine Lösung.

                Hat jmd nen Plan wo ich was falsch gemacht habe ?
                Du hast, bevor du angefangen hast, dich nicht im geringsten mit den Grundlagen beschäftigt - andernfalls solltest du wohl wissen, was Strings sind!
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Ergänzung zu wahsaga's Kommetar

                  Es sieht auch sehr stark danach aus, dass du absolut nicht nachdenkst. Wozu um alles in der Welt bastelst du dir die Variable $tr zusammen? Gebe den Kram doch sofort in der Schleife aus!

                  Gruß
                  Uwe

                  Kommentar


                  • #10
                    Frage @ topicstarer
                    Was sieht deiner Meinung nach besser aus ?
                    PHP-Code:
                    $tr.=<tr><td>$feld</td><td><input name='$feld' value='$wert'></td></tr>;
                    //oder
                    $tr.='<tr><td>'.$feld.'</td><td><input name="'.$feld.'" value="'.$wert.'"></td></tr>'
                    Lerne was Strings sind, wie man sie korrekt verknüpft...

                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar

                    Lädt...
                    X