pl: Kein Insert in meine MySQL Datenbank

Beitrag lesen

hi,

Gibts das auch für den hier vorliegenden Fall mit application/x-www-form-urlencoded?

Sorry. Da hab ich mich mit den multipart/formdata verlaufen.

Dieser Enctype transportiert ein Array. Wobei die einzelnen Arrayelemente jeweils Schlüssel/Werte Paare sind. Das kann man kurz und knapp als [{},{}..] skizzieren.

Unabhängig davon dürfen in einem Array Elemente durchaus mehrfach vorkommen und auch deren Reihenfolge ist definiert.

Die Spezifikation für application/x-www-form-urlencoded hingegen sieht vor, daß mehrere Parameter mit demselben namen Ein Array bilden. Abstrakt transportiert dieser Enctype eine Struktur wie folgt:

# names=foo;names=bar;names=usw;number=123

$stuct = {
  names  => ['foo','bar','usw'],
  number => 123
};

Schon aufgrund unterschiedlicher Strukturen ergibt sich ein unterschiedlicher serverseitiger Umgang mit diesen Enctypes. Während multipart/form-data grundsätzlich ein Array transportiert, steckt in dem anderen Enctype ein Hash in dem die Werte ggf. Arrays sind.

PHP jedoch orientiert sich an einer bestimmten Schreibweise der Parameternamen

# addr[name]=Otto&addr[vname]=Hans&addr[plz]=99999&number[][][]=123&person=admin

Array
(
    [addr] => Array
        (
            [name] => Otto
            [vname] => Hans
            [plz] => 99999
        )

    [number] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [0] => 123
                        )

                )

        )

    [person] => admin
)

So liegen die Fakten. Man muss sich nur damit befassen dann versteht man das auch.

MfG