Hummel: Array in Post

Hallo.

Eine ganz einfache Aufgabe: Ich übertrage per Post ein Array "test". Das Array hat u.a. das Element "Tag", das den davor ausgewählten Tag beinhaltet in der Form 2008-02-14.
Ich möchte nun über die Superglobale $_POST das Element "Tag" aus dem Array "test" ausgeben.

  
echo $_POST["test[Tag]"];  

gibt mir nichts aus. Ebenso wie alle anderen Kombinationen der Anführungszeichen.
Im print_r des $_POST oder von $_POST['test'] sehe ich allerdings das Datum im Element "test[Tag]".

Ich weiß nicht woran es liegt.

Fröhlichen Valentinstag
Hummel

  1. Hellihello

    Eine ganz einfache Aufgabe: Ich übertrage per Post ein Array "test". Das Array hat u.a. das Element "Tag", das den davor ausgewählten Tag beinhaltet in der Form 2008-02-14.

    Und wie erstellst du das?

    Ich möchte nun über die Superglobale $_POST das Element "Tag" aus dem Array "test" ausgeben.

    echo $_POST["test[Tag]"];

      
    var\_dump($\_POST) hilft dir weiter.  
      
    Dank und Gruß,  
      
    [frankx](http://community.de.selfhtml.org/visitenkarten/view.php?key=82)
    
    -- 
    [tryin to](http://sauer-ernst.de) [multitain](http://multitain.de)  - Globus = Planet != Welt 
    
    1. Hi, danke für die schnelle Antwort

      Und wie erstellst du das?

      Ein Formular und darin ein Select mit dem Namen "test[Tag]".

        
      <select class="neuSelect" name="test[Tag]">  
       <option value="0">---</option>  
       <option value="2008-02-15">15.02.2008</option>  
       <option value="2008-02-16">16.02.2008</option>  
       <option value="2008-02-17">17.02.2008</option>  
       <option value="2008-02-18">18.02.2008</option>  
       <option value="2008-02-19">19.02.2008</option>  
       <option value="2008-02-20">20.02.2008</option>  
       <option value="2008-02-21">21.02.2008</option>  
      </select>  
      
      

      var_dump($_POST) hilft dir weiter.

      Sicher? Das sagt mir das was mir print_r auch schon gesagt hat:

      array(1) {
        ["test"]=>
        array(6) {
          ["Tag"]=>
          string(10) "2008-02-15"
        ...
        }
      }

      Aber drauf komme ich immer noch nicht.

      Lg
      Hummel

      1. Hellihello

        var_dump($_POST) hilft dir weiter.

        Sicher? Das sagt mir das was mir print_r auch schon gesagt hat:

        array(1) {
          ["test"]=>
          array(6) {
            ["Tag"]=>
            string(10) "2008-02-15"
          ...
          }
        }

        Aber drauf komme ich immer noch nicht.

        $_POST["test"]["Tag"] --- steht doch da (;-).

        Dank und Gruß,

        frankx

        --
        tryin to multitain  - Globus = Planet != Welt
        1. Hi

          $_POST["test"]["Tag"] --- steht doch da (;-).

          Ich sehe, es fehlt am Grundlegenden - ich wusste nicht mehr wie man auf ein mehrdimensionales Array zugreift.
          Danke für die Lösung.

          Lg
          Hummel

      2. Moin!

        var_dump($_POST) hilft dir weiter.

        Sicher? Das sagt mir das was mir print_r auch schon gesagt hat:

        Du siehst die Struktur eines mehrdimensionalen Arrays.

        array(1) {
          ["test"]=>
          array(6) {
            ["Tag"]=>
            string(10) "2008-02-15"
          ...
          }
        }

        Aber drauf komme ich immer noch nicht.

        Wie greift man auf ein mehrdimensionales Array zu?

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
  2. Moin

    echo $_POST["test[Tag]"];

      
    ganz klar. nun sprichst du einen Wert im POST-Array an der den Namen "Test[Tag]" trägt. Dieser Wert existiert aber nicht.  
      
    Wie überträgst du das Array? Mit serialize() und unserialize()? So wie du das hier versuchst wird es nicht funktionieren.  
      
    Mit der Funktion [serialize()](http://de.php.net/serialize) kannst du Arraydaten übertragen.  
      
    Auf dem Zielscript kannst du das Übertragene Array wieder mit [unserialize()](http://de.php.net/unserialize) in ein normales Array wandeln und verwenden.  
      
    z.B: $test=unserialize($\_POST['test'];  
    echo $test['Tag']  
      
      
      
    Gruß Bobby  
    
    -- 
    -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-  
    -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-  
      
    ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
    
    1. Hi

      die serialize-Funktionen kenne ich.
      Aber ich glaube du hast das falsch verstanden. Das Array "test" existiert, das Unterelement "Tag" ebenfalls. Genauso wie der ganze Rest der Unterelemente. Ich kann es ausgeben, wenn ich "echo $neu[Tag];" ausführe.
      Aber über $_Post komme ich nicht drauf.

      Lg
      Hummel

      1. Moin

        Aber ich glaube du hast das falsch verstanden.

        Ja. Hatte ich falsch verstanden. Wusste nicht das du dies mit einem Selectfeld zusammenbastelst. Ich dachte es ging um die Übertragung eines vorher generierten Arrays.

        Die richtige Antwort hast du ja schon bekommen.

        Gruß Bobby

        --
        -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
        -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
        ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)