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.
- mit serialize()
Das ist korrekt.
- und mit addslashes()
Absolut falsch.
- abschliessend mit urlencodet() oder base64_encodet()
Vollkommen unnötig.
Was fehlt: htmlspecialchars().
- Sven Rautenberg
--
"Love your nation - respect the others."
"Love your nation - respect the others."