chris: multi select felder

Hallo und guten Morgen!

Ich möchte ein multi select Feld mit PHP auslesen.
Das Problem ist - denke ich -, daß ich die Daten per POST übergebe und nicht mit GET (bei get könnte man einfach den Query_String auslesen und bearbeiten).

Wie aber komme ich bei POST an alle Werte der Variable $kata ??

<FORM method=post action=bla>
   <SELECT name=kata size=3 multiple>
      <OPTION>1
      <OPTION>...
      <OPTION>n
   </SELECT>
</FORM>

Beste Grüße,
Chris

  1. Hi!

    Wie aber komme ich bei POST an alle Werte der Variable $kata ??

    Ich schätze mal, daß Du nur das erste selektierte Element zurückbekommst, oder? Eine Möglichkeit, die mir spontan
    einfällt wäre, per Javascript alle Elemente ab dem selektierten Element abzufragen und das Ergebnis in ein verstecktes
    Eingabefeld zu schreiben, welches beim Versenden mitgeschickt wird.

    Grüße

    Poldi.

    1. Hi Poldi,

      danke für Deine Hilfe!
      Ich habe gesehen, unter PERL kann man das so lösen:

      $wert = param(‚kata‚)
      @werte = param(‚kata‚)
      for (@werte) {print $_;}

      Gibt es da eine äquivalente PHP Lösung ?
      Ansonsten nehme ich die JS Variante :)

      Danke,
      Chris

      1. $wert = param(‚kata‚)
        @werte = param(‚kata‚)
        for (@werte) {print $_;}

        Gibt es da eine äquivalente PHP Lösung ?
        Ansonsten nehme ich die JS Variante :)

        Hm. Probiers mal mit $elemente=explode(";",$kata);
        Hab ich irgendwo im Archiv gefunden und damit solltest Du eigentlich alles bekommen. Hab's
        aber nicht getestet ...

        Ciao

        Poldi.

  2. Hallo Chris
    Der Unterschied zwischen GET und POST
    ist das bei GET die Daten in der URL übergeben werden und bei POST im HTTP-Körper.
    Das heißt die Daten werden genauso übergeben nur siehst du sie nicht so schön wie bei GET in der URL.
    Der Unterschied ist daß es bei POST keine Beschränkung in der Größe der Daten gibt, bei GET liegt die Grenze
    (abhängig vom Browser-Typ) bei ca.2kB.Im Hochperformanten Betreib ist GET schneller.
    Deine $kata ist also unter POST genauso verfügbar.

    Have Fun

    Andi

    1. Hi Andi!

      Deine $kata ist also unter POST genauso verfügbar.

      Ja schon...nur nimmt PHP (logischerweise) den letzten Wert!

      Das ganze kommt ja ungefähr so an:
      kata=1&kata=2&kata=3

      Und $kata hat dann natürlich den Wert 3...und leider nicht "1,2,3"...

      Hm...
      Grüße, chris

      1. Hi Andi!

        Deine $kata ist also unter POST genauso verfügbar.
        Ja schon...nur nimmt PHP (logischerweise) den letzten Wert!

        Das ganze kommt ja ungefähr so an:
        kata=1&kata=2&kata=3

        Und $kata hat dann natürlich den Wert 3...und leider nicht "1,2,3"...

        Hm...
        Grüße, chris

        Sorry habe das multiple übersehen und bin davon ausgegangen das es sich um eine Variable handelt.

        Andi

  3. <FORM method=post action=bla>

    »»    <SELECT name=kata[] size=3 multiple>
    »»       <OPTION value=1>1
    »»       <OPTION value=2>...
    »»       <OPTION value=3>n
    »»    </SELECT>

    </FORM>

    <?php
    for($i=0;$i<count($kata);$i++){
    echo $kata[$i];
    }
    ?>

    BTW: sowas steht im manual!!! RTFM http://www.php.net/manual/
    cya
    phpBadAss

    1. Hi!

      ...ja, Du hast ja Recht *schäm*

      läuft jetzt einwandfrei!

      Bye,
      Chris