Hi,
PHP hat einen kritischen defekt: Wenn mehrere gleichnamige Eingabefelder (nichts anderes ist ein <select multiple>) bearbeitet werden sollen, muss der Name dieser Eingabefelder auf "[]" enden.
bist du sicher, dass man hier von einem "defekt" sprechen kann?
die Implementierung diktiert die Nomenklatur? Ja, das _ist_ defekt.
?selectname=wert1&selectname=wert2&selectname=wertx&...
ich würde mal behaupten, dass es ein ganz normales verhalten jeder programmiersprache ist, dass bei mehreren hintereinander erfolgenden zuweisungen an die selbe variable jede neue zuweisung die vorhergehende überschreibt.
Nö. In Perl klappt das seit zig Jahren. _Jede_ mir bekannte auch nur halbwegs ernstzunehmende Auswertung von Request-Parametern beachtet den Fall multipler Werte pro Parametername - nur die von PHP nicht, da muss man speziell ein "hoppla, hier könnte es mehrere von geben" melden. Ich nehme ferner an, die daraus resultierenden Einschränkungen z.B. bei (dem wesentlich älteren und etablierteren, nur mal nebenbei erwähnt) JavaScript sind Dir bekannt.
wenn du in php jetzt aber eine variable mit eckigen klammern notierst, interpretiert php dies als anweisung, einen neuen wert in das durch die variable bezeichnete array aufzunehmen.
Und warum tut es das nicht bei _jedem_ gültigen Namen?
in so fern erscheint mir dieses verhalten eigentlich eher logisch denn fehlerhaft zu sein.
Es ist allerhöchstens eine Notlösung aus Faulheit. Sie macht genauso viel oder wenig Sinn, wie einen Unterstrich an den Anfang des Parameternamen zu befehligen.
Cheatah
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes