Ich habe ein Formular wie das folgende, das auf contacts.php veröffentlicht wird, und der Benutzer kann mit jquery dynamisch weitere hinzufügen.
<input type="text" name="name[]" />
<input type="text" name="email[]" />
<input type="text" name="name[]" />
<input type="text" name="email[]" />
<input type="text" name="name[]" />
<input type="text" name="email[]" />
Wenn ich sie in PHP mit dem Code unten wiederhole
$name = $_POST['name'];
$email = $_POST['account'];
foreach( $name as $v ) {
print $v;
}
foreach( $email as $v ) {
print $v;
}
Ich werde so etwas bekommen:
name1name2name3email1email2email3
Wie kann ich diese Arrays in so etwas wie den folgenden Code bringen?
function show_Names($n, $m)
{
return("The name is $n and email is $m, thank you");
}
$a = array("name1", "name2", "name3");
$b = array("email1", "email2", "email3");
$c = array_map("show_Names", $a, $b);
print_r($c);
meine Ausgabe ist also so:
Der Name ist Name1 und E-Mail ist E- Mail1 , danke
Der Name ist Name2 und E-Mail ist E- Mail2 , danke
Der Name ist Name3 und E-Mail ist E- Mail3 , danke
Vielen Dank für jede Hilfe oder Beratung
$emails[1]
dem benannten Benutzer entspricht$name[1]
? Ich glaube, ich hatte in der Vergangenheit Probleme damit, aber ich könnte mich irren. DankeZB durch Benennen der Felder wie
(was auch möglich ist, wenn Elemente über Javascript hinzugefügt werden)
Das entsprechende PHP-Skript könnte so aussehen
quelle
Ich weiß, dass es jetzt etwas spät ist, aber Sie könnten so etwas tun:
Der Test mit:
Dies für mich produziert:
quelle
Was ist, wenn Sie eine Reihe von Feldsätzen haben?
Ich habe ein verstecktes Feld hinzugefügt, um die Anzahl der Feldsätze zu zählen. Der Benutzer kann die Felder hinzufügen oder löschen und dann speichern.
quelle
Ich bin auch auf dieses Problem gestoßen. Bei 3 Eingaben: Feld [], Feld2 [], Feld3 []
Sie können dynamisch auf jedes dieser Felder zugreifen. Da jedes Feld ein Array ist, haben alle zugehörigen Felder denselben Array-Schlüssel. Zum Beispiel gegebene Eingabedaten:
Bob und seine E-Mail und sein Geschlecht teilen sich den gleichen Schlüssel. In diesem Sinne können Sie in einer for-Schleife wie folgt auf die Daten zugreifen:
Dies skaliert auch. Sie müssen lediglich Ihre jeweiligen Array-Variablen hinzufügen, wenn neue Felder hinzugefügt werden müssen.
quelle
Die Lösung von VolkerK ist jedoch die beste, um Fehlpaarungen zwischen E-Mail und Benutzername zu vermeiden. Sie müssen also HTML-Code mit PHP wie folgt generieren:
Ändern Sie $ total_data entsprechend Ihren Anforderungen. Um es zu zeigen, einfach so:
Angenommen, die Daten wurden mit der POST-Methode gesendet.
quelle
Sie können den folgenden Code jedoch wie folgt verwenden:
quelle
Das ist einfach:
quelle
Die Verwendung dieser Methode sollte funktionieren:
quelle