Ist es möglich, mehrere gleichnamige Eingaben zu veröffentlichen und dann über PHP darauf zuzugreifen? Die Idee ist folgende: Ich habe ein Formular, mit dem eine unbestimmte Anzahl von physischen Adressen zusammen mit anderen Informationen eingegeben werden kann. Wenn ich einfach jedem dieser Felder über mehrere Einträge hinweg denselben Namen geben und diese Daten per Post übermitteln würde, könnte PHP dann darauf zugreifen?
Angenommen, ich habe fünf Eingaben auf einer Seite mit dem Namen "xyz" und möchte mit PHP darauf zugreifen. Könnte ich so etwas machen wie:
$_POST['xyz'][0]
Wenn ja, würde dies mein Leben zehnmal einfacher machen, da ich eine unbestimmte Menge an Informationen über ein Formular senden und vom Server verarbeiten lassen könnte, indem ich einfach das Array von Elementen mit dem Namen "xyz" durchlaufe.
address[0][street]
address[0][city]
address[0][zip]
,address[1][street]
address[1][city]
address[1][zip]
... Sie können diese mit lesen$_POST['address'][0]['city']
, zum Beispiel[]
einfügen, z[0]
. Das macht es schwieriger, HTML zu generieren, aber die Daten sind nicht schwerer auf der PHP-Seite zu lesenIn Ihrem HTML können Sie ein Array für den Namen übergeben, dh
Auf diese Weise erhält PHP ein Array von Adressen.
quelle
Die Antwort von Eric ist richtig, aber das Problem ist, dass die Felder nicht gruppiert sind. Stellen Sie sich vor, Sie haben mehrere Straßen und Städte, die zusammengehören:
Das Ergebnis wäre
Um sie nach Adresse zu gruppieren, würde ich eher empfehlen, das zu verwenden, was Eric auch im Kommentarbereich erwähnt hat:
Das Ergebnis wäre
quelle
Für alle anderen, die dies finden, ist es erwähnenswert, dass Sie den Schlüsselwert im Eingabenamen festlegen können. Dank der Antwort in POSTing Form Fields mit demselben Namensattribut können Sie auch Zeichenfolgen oder Ganzzahlen ohne Anführungszeichen zusammenspielen.
Bei den Antworten wird davon ausgegangen, dass es Ihnen nichts ausmacht, dass der Schlüsselwert für PHP zurückgegeben wird. Sie können jedoch
name=[yourval]
(string oder int) festlegen, dass Sie auf einen vorhandenen Datensatz verweisen können.quelle
Es kann sein:
quelle