Hi,
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?u.a. ich.
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
naja, ich finde es sehr unlogisch, daß von mehreren Parametern nur einer zur Verfügung steht.
Wieso? Der Nachfolgende überschreibt den Vorhergehenden.
Und solltest du nicht zufrieden sein, kannst du die bereitgestellten Superglobalen Arrays ja wegschmeissen und selbst nach beliebigen Regeln erstellen.
oder gleich mit einer Sprache arbeiten, die nicht einfach Parameter unterschlägt.
Nachfolgende überschreibt den Vorhergehenden.
[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
Naja - es ist halt total unlogisch,
Es ist innerhalb der Sprache konsistent - ich verstehe nicht, was daran unlogisch ist.
daß Parameter im Request einfach mal so unterschlagen werden.
Wird er auch nicht, der Nachfolgende überschreibt den Vorhergehenden.
Soweit ich weiß, kann man das ja auch nicht in der php.ini umkonfigurieren.
Nein, kann man afaik nicht.
Und soweit ich weiß, kommt auch kein Notice/Error/Warning, daß auf den unterschlagenen Parameter hinweist.
Wozu auch? Wenn ich $var = 1; $var = 2; notiere, dann bekomme ich ebenfalls keine Meldung, dass ich eine Variable überschreibe, die schon existiert hat.