Array in Post
Hummel
- php
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
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
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
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ß,
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
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
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:)
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
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