checkbox -> array / hidden / array auslesen

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

  • checkbox -> array / hidden / array auslesen

    Moin Moin,

    sos!!!

    Ich bin grad dabei ein Formular über mehrere Seiten zu erstellen.

    Um zu testen wie ich die chreckboxen auswerte und per hidden übergeben kann habe ich ein paar checkboxen in einer HTML Datei angelegt.

    Name test.html
    <body>

    <form action="test.php" method="post">
    <input name="x[]" value="a" type="checkbox">a
    <input name="x[]" value="b" type="checkbox">b
    <input name="x[]" value="c" type="checkbox">c
    <input name="x[]" value="d" type="checkbox">d
    <input name="x[]" value="e" type="checkbox">e
    <input value="weiter" type="submit">
    </form>

    </body>

    Diese soll per test.php ausgewertet werden. Und das Array an hidden übergeben.

    Name test.php
    <form action="test1.php" method="post">
    <?php

    foreach ($_POST['x'] as $key => $value) {
    echo $key .' => '. $value . '<br />';
    }

    echo '<input type="hidden" name="x" value="' .$_POST['x'].'">';

    ?>
    <input type="submit" value="xxx">
    </form>

    In der test1.php möchte ich, dass das übergebene Array ausgegeben wird.

    Name test1.php
    <?php

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

    reset($_POST);
    while (list($key, $val)=each($_POST)) {
    echo "$key => $val<br />\n";
    }

    ?>

    Das ganze funktioniert aber nicht. Nun wollte ich euch Götter mal fragen wo da der Fehler ist.

    Ich danke im Voraus

  • #2
    die Zeile ist falsch

    echo '<input type="hidden" name="x" value="' .$_POST['x'].'">';

    und die schliessende Klammer von for auch zu früh.

    Überlege mal.

    Kommentar


    • #3
      Finde den Fehler nicht.

      Könntest sie mal bitte herausnehmen??? Bitte Bitte Danke

      Kommentar


      • #4
        2 Lösungen:

        - entweder in die For-Schleife das Array in hidden-Felder aufbauen
        - oder den Post serialisieren und in einem hidden-Feld ablegen.

        Kommentar


        • #5
          ich versteh echt nicht wie ich das anstellen soll?

          Kommentar


          • #6
            PHP-Code:
            foreach ($_POST['x'] as $key => $value
            {
              echo 
            $key .' => '$value '<br />';
              echo 
            '<input type="hidden" name="x[]" value="'.$_POST['x'][$value].'">';

            so in der art.

            gruß
            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              Re: checkbox -&gt; array / hidden / array auslesen

              Original geschrieben von mr. xy
              Das ganze funktioniert aber nicht.
              Wieder einmal so eine richtig aussagekräftige Problembeschreibung!

              In test1.php gibst du alle Post-Variablen mit echo() aus. da es sich aber $_POST['x'] um einen Array handelt (das geht auch ohne Serialisierung), funktioniert das natürlich nicht. Allerdings müsste etwas wie Array ausgegene werden. Aber ja, da sind wir schon wieder bei der Problembeschreibung.
              Gruss
              H2O

              Kommentar


              • #8
                Danke Peter,

                jetzt wird zwar nicht mehr x => Array ausgegeben sondern
                1 =>
                2 =>
                .
                .

                und in jeder Zeile wird eine Fehlermeldung angezeigt

                Notice: Undefined index: in c:\programme\easyphp1-8\www\php houses of holiday\test1.php on line 6

                Kommentar


                • #9
                  Weil der Code von Peter Käse ist ... Es kann doch nicht sein, dass man hirnlos Codes übernimmt und anschliessend sich wundert, warum nichts läuft.

                  Kommentar


                  • #10
                    Weil der Code von Peter Käse ist
                    ist mir gestern abend im bett auch wieder eingefallen.
                    PHP-Code:
                    // nicht
                    $_POST['x'][$value]
                    // sondern
                    $value 
                    gruß
                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      läuft

                      EDIT:
                      php test.php

                      <?php


                      foreach ($_POST['x'] as $key => $value) {
                      echo $key .' => '. $value . '<br />';
                      echo '<input type="hidden" name="x[]" value="' .$value.'">';
                      }

                      ?>




                      und dann

                      EDIT:
                      php test1.php

                      <?php


                      foreach ($_POST['x'] as $key => $value) {
                      echo $key .' => '. $value . '<br />';
                      echo '<input type="hidden" name="x[]" value="' .$value.'">';
                      }

                      ?>




                      Danke Leute

                      Stromberg

                      "Ich fühle mich wie Jesus an Ostersonntag. Den hatten auch schon alle abgeschrieben und dann nach drei Tagen, so"n richtiges Comeback, mit dem keiner gerechnet hatte."

                      Kommentar

                      Lädt...
                      X