Sebastian: 2 dimensionales array beim input feld

hallo,

ich habe ein problem ich übergebe mit einem input feld 2 variabeln und das über ein 2 dimensionales array

.
.
.
echo '<input type="checkbox" name="nummer['.$i.']['.$zustand.']" value="'. $bestands_nr .'">';
?>
<input type="image"   type="submit" name="aendern" src="img/benutzer-festlegen.gif" border="0" width="28" height="22">
</form>

<?php
 if (isset($_REQUEST['aendern_x']))
  {
   $nummer = array();
   $nummer[] = $_REQUEST['nummer'];
   echo "<pre>";
   var_dump($nummer);
   echo "</pre>";
  }

Nur im Ergebnis wird mir der Zustand nicht übermittelt ich verstehe das irgendwie nicht und auch die Verschachtelung ist auch falsch...!
Ich habe erst gedacht ich muß mit list(); arbeiten aber das scheint auch fehl am Platz sein.

  1. Hello Sebastian,

    ich habe ein problem ich übergebe mit einem input feld 2 variabeln und das über ein 2 dimensionales array

    echo '<input type="checkbox" name="nummer['.$i.']['.$zustand.']" value="'. $bestands_nr .'">';

    ---------

    $nummer = array();
       $nummer[] = $_REQUEST['nummer'];
       echo "<pre>";
       var_dump($nummer);
       echo "</pre>";

    Ich nehme mal an, dass es sich um die Checkbox handelt?

    Du baust nur eine Checkbox auf, woher sollen dann zwei Request-Parameter kommen?

    for ($i=1,$i<11,$i++)
    {
      echo "<input type="checkbox".
           "       name="{nummer[$i]}"".
           "       value="bestands_nr">";
    }

    Das ergibt jetzt 10 Checkboxen mit den Namen
    nummer[1]
    nummer[2]
    nummer[3]
    ...
    nummer[10]

    Aber vielleicht wolltest Du die Checkboxen später automatisch auswerten lassen?

    Dann ist es günstiger zu schreiben:

    --------------------------------
    <?php   ### checkboxen.php ####

    echo "<form action="{$_SERVER['PHP_SELF']}" method="post">\n";
    for ($i=1;$i<11;$i++)
    {
      echo "<input type="checkbox"".
           "       name="nummer[]"".
           "       value="$i"> $i<br />\n";
    }
    echo "<input type="submit" name="btn[save]" value="speichern">\n";
    echo "</form>\n";

    if (isset($_POST['nummer']) and is_array($_POST['nummer']))
    {
      foreach ($_POST['nummer'] as $bestand)
      {
        echo "$bestand ist aktiv<br />";
      }
    }
    ?>
    --------------------------------

    Wie war es nun gemeint?

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

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    1. Hallo,

      ich wollte eigentlich 2 Variablen mit einem Input Feld übergeben.
      Einmal den value der im Input Feld steht und einmal ob die Checkbox auf true oder false steht und das im 2 dimensionales array

      Nur den value auszulesen das habe ich bereits hinbekommen aber ist es nicht möglich ein 2 dimensionales array oder ein verschachteltes array aus ein input Feld zu übermitteln. Das heißt es soll der übliche value übermittelt werden und zusätzlich noch den Zustand ob die Checkbox auf true oder false steht.

      Oder geht das so nicht?

      muß ich evtl hinter jeder checkbox noch ein hidden input-formular mit übermitteln welches genauso durchnummeriert ist als wie das checkbox input Feld.

      gruss sebastian

      1. Hello,

        ich wollte eigentlich 2 Variablen mit einem Input Feld übergeben.
        Einmal den value der im Input Feld steht und einmal ob die Checkbox auf true oder false steht und das im 2 dimensionales array

        Eine Checkbox kann immer nur _einen_ Wert (oder nicht vorhanden) annehmen. Man kann sicher mit Hilfe von JavaScript noch zwischen mehreren Werten unterscheiden, aber dann wäre doch ein Select-Feld besser geeignet, oder?

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

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen