Ilja: Array im Formular abrufen

hi,

ich habe in einem formular ein array, zum beispiel in folgender form:

<form action="<? echo $_SERVER['PHP_SELF'] ?>" method="post">
<input type="Text" name="feld[]" size="10" maxlength="10">
<input type="Text" name="feld[]" size="10" maxlength="10">
<input type="Text" name="feld[]" size="10" maxlength="10">
</form>

so weit so gut. ich habe nun ein problem, die eingaben wieder in php abzurufen. normalerweise benutze ich dazu den ausdruck $_Post["variablenname"], um den wert auszulesen. das geht nun aber bei dem array nicht. wer weiss antwort ?

Ilja

  1. hi

    ich habe in einem formular ein array, zum beispiel in folgender form:

    <form action="<? echo $_SERVER['PHP_SELF'] ?>" method="post">
    <input type="Text" name="feld[]" size="10" maxlength="10">
    <input type="Text" name="feld[]" size="10" maxlength="10">
    <input type="Text" name="feld[]" size="10" maxlength="10">
    </form>

    so weit so gut. ich habe nun ein problem, die eingaben wieder in php abzurufen. normalerweise benutze ich dazu den ausdruck $_Post["variablenname"], um den wert auszulesen. das geht nun aber bei dem array nicht. wer weiss antwort ?

    andere variablen, zumindest aber keine arrays verwenden. du kannst ja mit einer schleife pro input-Feld immer einen "pseudo-index" höher gehen zum beispiel, so kannst du sie dann über den jeweiligen "pseudo-index" abrufen.

    <form action="<? echo $_SERVER['PHP_SELF'] ?>" method="post">
    <input name="index_0" size="10" maxlength="10">
    <input name="index_1" size="10" maxlength="10">
    <input name="index_2" size="10" maxlength="10">
    </form>

    <?php
    $input_0 = $_POST['input_0'];
    usw.

    Fabian

    1. Hallo,

      ich weiß nicht genau, ob Du das gesucht hast:

      <head>
      <?
        define("N","<br />");

      $feld=$HTTP_GET_VARS;

      function feldname($A)
        {
          list($key, $value) = each($A);
          return $key;
        }
      ?>

      </head>
      <body>

      <?
        reset($feld);
        echo feldname($feld).N;
      ?>

      <form action="<? echo $HTTP_SERVER_VARS[PHP_SELF] ?>" method="post">
        <input type="Text" name="<?= key($feld); ?>" size="10" maxlength="10"> <? next($feld); ?>
        <input type="Text" name="<?= key($feld); ?>" size="10" maxlength="10"> <? next($feld); ?>
        <input type="Text" name="<?= key($feld); ?>" size="10" maxlength="10">
        <input type="submit">
      </form>

      </body>
      </html>

      und das kommt dabei heraus:

      <html>
      <head>

      </head>
      <body>

      name<br />

      <form action="/~thomas/test/arr01.php" method="post">
        <input type="Text" name="name" size="10" maxlength="10">
        <input type="Text" name="strasse" size="10" maxlength="10">   <input type="Text" name="ort" size="10" maxlength="10">
        <input type="submit">
      </form>

      </body>
      </html>

      Liebe Grüße aus <http//www.braunschweig.de>

      Tom

      hi

      ich habe in einem formular ein array, zum beispiel in folgender form:

      <form action="<? echo $_SERVER['PHP_SELF'] ?>" method="post">
      <input type="Text" name="feld[]" size="10" maxlength="10">
      <input type="Text" name="feld[]" size="10" maxlength="10">
      <input type="Text" name="feld[]" size="10" maxlength="10">
      </form>

      so weit so gut. ich habe nun ein problem, die eingaben wieder in php abzurufen. normalerweise benutze ich dazu den ausdruck $_Post["variablenname"], um den wert auszulesen. das geht nun aber bei dem array nicht. wer weiss antwort ?

      andere variablen, zumindest aber keine arrays verwenden. du kannst ja mit einer schleife pro input-Feld immer einen "pseudo-index" höher gehen zum beispiel, so kannst du sie dann über den jeweiligen "pseudo-index" abrufen.

      <form action="<? echo $_SERVER['PHP_SELF'] ?>" method="post">
      <input name="index_0" size="10" maxlength="10">
      <input name="index_1" size="10" maxlength="10">
      <input name="index_2" size="10" maxlength="10">
      </form>

      <?php
      $input_0 = $_POST['input_0'];
      usw.

      Fabian

  2. so weit so gut. ich habe nun ein problem, die eingaben wieder in php abzurufen. normalerweise benutze ich dazu den ausdruck $_Post["variablenname"], um den wert auszulesen. das geht nun aber bei dem array nicht. wer weiss antwort ?

    Hi,

    habs nicht getestet, aber normalerweise sollte es so funktionieren:
    $_POST["feld"] ist ja ein array, also z.B.:

    for ($i=0; $i<count($_POST["feld"]); $i++) {
        $temp = $_POST["feld"][$i];
        echo "Feld Nummer $i: $temp <br>";
    }

    Gruß
    Wolfgang