Mario Peschel: Multiple Select Boxen auswerten ohne []

Hallo!

Ist es möglich in PHP "Multiple Select Boxen" ohne [] am Ende eines Feldnamens auszuwerten?

Bsp:

<select name="test[]" multiple="multiple">
<option value="one">one</option>
<option value="two">two</option>
<option value="three">three</option>
<option value="four">four</option>
<option value="five">five</option>
</select>

Sobald ich nun anstat test[] nur test verwende, bekomme ich leider kein Array mehr in PHP. Gibt es vielleicht eine Option in PHP die ich aktivieren kann, damit es auch ohne die []-Klammern funktioniert?

Dies ist nur rein Interesse halber, ob es in PHP überhaupt möglich ist, da ich einen Formmailer schreibe, und es schöner wäre, wenn es auch ohne die [] funktionieren würde.

mfg
Mario

  1. Hi,

    Ist es möglich in PHP "Multiple Select Boxen" ohne [] am Ende eines Feldnamens auszuwerten?

    Du kommst in PHP genauso wie überall sonst mittels der Umgebungsvariablen an den Query-String. Nichts hindert Dich daran, diesen klassisch und Deinen Wünschen entsprechend auszuwerten. Bei POST sind Deine Chancen jedoch gering.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Du kommst in PHP genauso wie überall sonst mittels der Umgebungsvariablen an den Query-String. Nichts hindert Dich daran, diesen klassisch und Deinen Wünschen entsprechend auszuwerten. Bei POST sind Deine Chancen jedoch gering.

      Ja das habe ich wohl vergessen zu erwähnen. Das ganze dreht sich um POST's. ;-) Bei GET könnt ich natürlich auf den QUERY-String zurückgreifen.

      Danke trotzdem.
      Mario

      1. hallo wo ist den eigendlich dein problemm?
        mit $test[] erhälts du dein erwünschtes ergebniss.
        ein array mit allen ausgewählten select werten.
        mit $test bekommst du nur einen wert also das was du nicht möchtest.
        also benutze $test[] oder nicht php

        1. Mein "Problem" ist, dass ich - wenn möglich - im HTML Formular keine []-Klammern angeben möchte. Wollte nur mal wissen ob dies in PHP möglich ist. Ich dachte vielleicht kann man irgendwie in PHP den Input von STDIN auslesen. Aber wahrscheinlich kann sowas nur das gute "alte" Perl. ;-)

          Mario

          1. Hi,

            Aber wahrscheinlich kann sowas nur das gute "alte" Perl. ;-)

            im Prinzip kann das jede halbwegs brauchbare Programmiersprache - aber eben nur einmal. $HTTP_RAW_POST_DATA war mir nicht bekannt; wenn PHP die ausgelesenen Daten dort hinein schreibt, ist das Problem eh gegessen.

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. im Prinzip kann das jede halbwegs brauchbare Programmiersprache - aber eben nur einmal. $HTTP_RAW_POST_DATA war mir nicht bekannt; wenn PHP die ausgelesenen Daten dort hinein schreibt, ist das Problem eh gegessen.

              Habe es mal mit HTTP_RAW_POST_DATA versucht, aber dort stand leider nichts drin. Vielleicht habe ich das ganze auch falsch verstanden, was dieses eigentlich beinhalten soll.

              mfg
              Mario

  2. Hallo
    Nein das ist nicht den wenn du nur $test nimmst ist es eine reine variable.
    Mit $test[] ein array.

    1. Dann eben ne bessere Frage: Wie kann ich auf den POST QUERY String zugreifen? Dann bastel ich mir das halt selbst zusammen, so wie früher in Perl. ;-)

      Mario

      1. Hi,

        Dann eben ne bessere Frage: Wie kann ich auf den POST QUERY String zugreifen?

        der kommt von STDIN und ist damit, nachdem er einmal ausgelesen wurde, nicht mehr existent.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Dann eben ne bessere Frage: Wie kann ich auf den POST QUERY String zugreifen?

          der kommt von STDIN und ist damit, nachdem er einmal ausgelesen wurde, nicht mehr existent.

          Schonmal was mit $HTTP_RAW_POST_DATA gemacht? Ich auch nicht, aber ich könnte mir vorstellen, dass mir das vielleicht weiter hilft.

          mfg
          Mario

  3. Hallo!

    Dies ist nur rein Interesse halber, ob es in PHP überhaupt möglich ist, da ich einen Formmailer schreibe, und es schöner wäre, wenn es auch ohne die [] funktionieren würde.

    Klappt es mit:

    [HTML]
    name="test"

    [PHP]
    $foo[] = (array) $test;

    ?

    Jens