Hi,
<input name="foo" value="bar" />
<input name="foo" value="baz" />
> >
> > Am Server sollte als Wert "baz" ankommen
>
> Nein. Es sollten beide Werte ankommen. Tuns sie auch.
Ja, mein Fehler - natürlich kommt beim server foo=bar&foo=baz als Query String an
> Nur PHP ist zu blöd dafür, ein Array draus zu machen, wenn der Name keine [] enthält - und läßt nur den letzten Wert durch ...
Sagt wer? Afaik gibt es keine Regel, wie genau der Query String zu parsen ist[1] - ebenso definiert HTML in keiner Weise, wie der logische Aufbau der name-Attribute beschaffen sein muss. Im Falle von PHP ist es jedenfalls nur Konsequent, da dieselbe Behandlung/Logik für Interne und für extern zugeführte variablen Verwandt wird
$foo = 'bar';
$foo = 'baz';
Ergibt einen String
$foo[] = 'bar';
$foo[] = 'baz';
Ergibt ein Array
Und solltest du nicht zufrieden sein, kannst du die bereitgestellten Superglobalen Arrays ja wegschmeissen und selbst nach beliebigen Regeln erstellen.
[1] Man liest zwar an allen Ecken und enden, dass es PHP falsch macht, aber "alle anderen CGI-Anwendungen richtig", aber man kann nirgends eine Regel finden, wie es denn zu sein hat