Ich frage mich, ob es irgendeine Art von Garantie für die Reihenfolge der POST-Variablen gibt, die ich auf der Serverseite sehen werde.
Mein Anwendungsfall ist ein Formular, das ein Benutzer ausfüllen muss, um eine Liste mit Namen und E-Mails einzugeben. Ich verwende eine Tabelle Zeilen, von denen jede zwei Eingänge hat:
%Vor%Die Zeile könnte über JavaScript geklont werden, damit der Benutzer mehr Namen und E-Mails eingeben kann, damit ich nicht vorher weiß, wie viele Beiträge gesendet werden.
Auf der Serverseite sehe ich $ _POST ['email'] und $ _POST ['name'] gesetzt, aber ich frage mich, ob ich sicher annehmen kann $ _POST ['email'] [0] entspricht $ _POST ['name'] [0], $ _POST ['email'] [1] entspricht $ _POST ['name'] [1] und so weiter. Einige grundlegende Tests scheinen ja zu zeigen, aber ich frage mich, ob es eine Garantie gibt oder ob ich nur Glück habe.
warum nicht einen Gruppierungsschlüssel wie:
hinzufügen %Vor% und dann stellen Sie die user
Indizes beim Klonen basierend auf der aktuellen Zahl manuell ein. Auf diese Weise ist schon alles zusammengelegt.
Was ist die erwartete Reihenfolge eines Arrays? in einem HTML-Formular eingereicht?
Gemäß der HTML-Spezifikation:
Die Namen / Werte der Steuerung sind in aufgelistet die Reihenfolge, in der sie im Dokument erscheinen
Es ist jedoch eine bessere Kodierungspraxis, einen indizierten Array-Ansatz zu verwenden, wie in der Antwort von prodigitalson gezeigt.
Die Daten werden in der gleichen Reihenfolge wie im Formular angezeigt. Also erste Reihe haben Schlüssel 0, zweite Reihe - 1.
Wie Vaidas Zilionis sagte, werden die Daten genau in der Reihenfolge angezeigt, in der sie im Formular erscheinen, siehe W3Cs Spezifikation HTML 4.01 :
Anwendung / x-www-form-urlencoded
[...] 2. Die Steuerelementnamen / -werte werden in der Reihenfolge aufgelistet, in der sie im Dokument angezeigt werden .multipart / form-data strong>
.
[...] Eine Nachricht "multipart / form-data" enthält eine Reihe von Teilen, die jeweils eine erfolgreiche Kontrolle darstellen. Die Teile werden in der Reihenfolge, in der die entsprechenden Steuerelemente im Dokumentdatenstrom angezeigt werden, an den Verarbeitungsagenten gesendet.
Tags und Links javascript html php forms