Sven Rautenberg: assoziativ array und $_POST

Beitrag lesen

Moin!

zuerst mal ein bissel Grundlagen (sorry):

Ok, dann mußt du dir die Grundlagen auch nochmal anhören.

Die Variablen in $_POST sind immer Strings mit in URL's zulaessigen Zeichen.

Falsch. In $_POST (also zu dem Zeitpunkt, wo PHP läuft) sind hierdrin absolut beliebige Zeichen möglich, alle Bytewerte von 0 bis 255. PHP hat die übermittelten (und dort u.U. url-codierten) Daten ja bereits dekodiert.

Ergo, wenn man ein Array einer $_POST-Variablen zuordnen moechte muss man es
in einen URL-kodierten String umwandeln.

Allgemein gesprochen hängt es vom konkreten Mechanismus ab. Bei der Übermittlung in einem versteckten Formularfeld liegst du aber falsch.

  1. mit serialize()

Das ist korrekt.

  1. und mit addslashes()

Absolut falsch.

  1. abschliessend mit urlencodet() oder base64_encodet()

Vollkommen unnötig.

Was fehlt: htmlspecialchars().

- Sven Rautenberg

--
"Love your nation - respect the others."