Heim >Backend-Entwicklung >PHP-Tutorial >Formularübermittlung im Array-Modus

Formularübermittlung im Array-Modus

WBOY
WBOYOriginal
2016-08-08 09:31:161100Durchsuche

Ich bin heute auf ein Problem gestoßen, nachdem ich viele Formularinformationen gespeichert hatte. Endlich habe ich eine ziemlich gute Möglichkeit gefunden, die Daten im Formular in Form einer Datei zu übermitteln Array zur Speicherung.

Tatsächlich ist es sehr einfach umzusetzen, das heißt, es müssen bestimmte Standards bei der Benennung der im Formular einzureichenden Informationen eingehalten werden. Vergleichen wir zunächst die Unterschiede zwischen den folgenden beiden Methoden:

Bei der ersten, üblichen Methode hat jeder zu übermittelnde Wert einen Namen

<form action="./index.php" method="get">
	<div>
		<input type="text" name="name1" />
		<input type="text" name="num1" />
		<input type="text" name="img1" />
	</div>
	<br>
	<div>
		<input type="text" name="name2" />
		<input type="text" name="num2" />
		<input type="text" name="img2" />
	</div>
	<br>
	<div>
		<input type="text" name="name3" />
		<input type="text" name="num3" />
		<input type="text" name="img3" />
	</div>
	......
  <input type="submit" value="Submit" />
</form>

Der Dienst (index.php) besteht aus nur zwei Sätzen

<?php
echo "<pre class="brush:php;toolbar:false">";
print_r($_GET);

Geben Sie die folgenden Informationen auf der gerenderten Webseite ein und klicken Sie auf „Senden“

Die über den Browser angezeigten Abfragezeichenfolgenparameter sehen folgendermaßen aus:

Diese Nachricht erhalten Sie im Service-Segment

Dies ist für das Backend möglicherweise nicht einfach zu handhaben. Wenn Sie drei Informationen aus derselben Gruppe in einem Array zusammenfassen können, wäre dies viel einfacher

Zweitens Array-Methode zur Formularübermittlung

<form action="./index.php" method="get">
	<div>
		<input type="text" name="infos[1][name]" />
		<input type="text" name="infos[1][num]" />
		<input type="text" name="infos[1][img]" />
	</div>
	<br>
	<div>
		<input type="text" name="infos[2][name]" />
		<input type="text" name="infos[2][num]" />
		<input type="text" name="infos[2][img]" />
	</div>
	<br>
	<div>
		<input type="text" name="infos[3][name]" />
		<input type="text" name="infos[3][num]" />
		<input type="text" name="infos[3][img]" />
	</div>
	......
  <input type="submit" value="Submit" />
</form>
Wenn Sie genau hinsehen, werden Sie feststellen, dass sich der Name der zu übermittelnden Daten geändert hat. Wenn Sie auf „Senden“ klicken, werden Sie feststellen, dass die an das Backend übergebenen Werte geändert wurden viel ordentlicher. Schauen Sie sich den Screenshot unten an

Die über das Browser-Plug-in analysierte Abfragezeichenfolge sieht folgendermaßen aus:

Die vom Server ausgedruckten Daten lauten wie folgt:

Wenn der Hintergrund solche Daten erhält, ist es viel einfacher, viele Dinge zu verarbeiten und zu speichern. Bei der Benennung des zu übermittelnden Werts ist hier jedoch nichts zu beachten Anführungszeichen im Array. Nach dem Hinzufügen von Anführungszeichen werden Anführungszeichen im Backend-Schlüsselwert angezeigt. Zu beachten ist auch, dass die Ajax-Übermittlung mittlerweile die beliebteste Methode ist. Wie erhalte ich den Wert im Formular, wenn ich Ajax verwende? Dies ist eigentlich sehr einfach. Die von jquery bereitgestellte Methode serialize () kann den gesamten zu übermittelnden Inhalt problemlos in eine URL-Zeichenfolge zusammenfügen und ihn dann über get an den Hintergrund senden.

Natürlich kann es in der Praxis zu einem solchen Problem kommen. Die Anzahl der einzureichenden Gruppen (wie 1, 2 und 3 oben) ist ungewiss und kann im Frontend nach Belieben hinzugefügt werden Array zu diesem Zeitpunkt? Was ist mit diesen Inhalten? Mit entsprechenden Werkzeugen lässt sich das immer noch einfach und bequem lösen,

<form action="./index.php" method="get">
	<div>
		<input type="text" name="infos[name][]" />
		<input type="text" name="infos[num][]" />
		<input type="text" name="infos[img][]" />
	</div>
	<br>
	<div>
		<input type="text" name="infos[name][]" />
		<input type="text" name="infos[num][]" />
		<input type="text" name="infos[img][]" />
	</div>
	<br>
	<div>
		<input type="text" name="infos[name][]" />
		<input type="text" name="infos[num][]" />
		<input type="text" name="infos[img][]" />
	</div>
	......
  <input type="submit" value="Submit" />
</form>
Schauen Sie sich zunächst die vom Browser übergebenen Daten an

 

Die vom Backend zu diesem Zeitpunkt empfangenen Daten sehen folgendermaßen aus

 

Mit solchen Daten ist es einfach, die Informationen jeder Gruppe zu klassifizieren. Ist das nicht sehr praktisch? Bevor ich diese Methode anwendete, hatte ich jedes Mal Kopfschmerzen, wenn ich auf ein solches Problem stieß. Jetzt kann ich es leicht lösen.

Das Urheberrecht dieses Artikels liegt beim Autor (luluyrt@163.com). Nach dem Nachdruck des Artikels müssen der Autor und der Originaltext-Link angegeben werden an einer offensichtlichen Stelle auf der Artikelseite, andernfalls behalten wir uns die Geltendmachung gesetzlicher Haftungsrechte vor.

Das Obige stellt die Array-Methode für die Formularübermittlung vor, einschließlich der relevanten Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn