dedlfix: CSS-Ergänzung

Beitrag lesen

Hi!

Ich lasse per js nur zahlen zu im Formular  :-)

Javascript läuft auf dem Client und kann beliebig manipuliert werden. Auch ist das Eintreffen von Request bei dir nicht abhängig von Javascript-Code auf der Client-Seite. Du kannst also trotz clientseitiger Prüfung beliebige Werte gesendet bekommen. Eine clientseitige Prüfung kann ein Komfort für Anwender sein, weil sie ohne einen Roundtrip ein Problem gemeldet bekommen, es darf aber niemals die einzige Prüfung sein, wenn einem das eigene System lieb ist.

Wenn ich die $alle_player edidieren will per Form, klappt das ja auch mit den Namen (also mit dem Key).
Aber die dazugehörigen Values kommen alle an !!
Per GET kriege ich bei dem Versuch zwar die Key korrekt aber nicht die dazu gehörigen Zahlen:

Dann musst du für Eindeutigkeit sorgen. Als einziges Kriterium das dir eine Auskunft über die Art der Daten liefert hast du den Namen der Formularelemente. Schreib da auch die Zugehörigkeit rein. Um Werte in $_GET/$_POST in einem einfachen oder verschachtelten Array zu bekommen, kann man nicht nur ein oder mehrere []-Paare notieren, man kann da hinein auch den gewünschten Key vorgeben: <input type=... name="zahlen[playername][]">

Schau dir mit var_dump() oder print_r() an, was du nun in $_GET/$_POST bereitgestellt bekommst, dann sollte das Prinzip klar sein.

Beachte, dass du auch den Playernamen kontextgerecht behandeln muss, damit solche Typen wie Little Bobby Tables keinen Schaden anrichten. Hier hilft nicht nur htmlspecialchars(), auch die []-Klammern musst du berücksichtigen. Mir ist dafür kein offizieller Escape-Mechanismus bekannt, aber beispielsweise eine URL-Kodierung kannst du dafür nehmen.

Lo!