J'ai un formulaire comme celui ci-dessous qui est publié sur contacts.php, et l'utilisateur peut en ajouter de manière dynamique avec jquery.
<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[]" />
Si je les fais écho en php avec le code ci-dessous
$name = $_POST['name'];
$email = $_POST['account'];
foreach( $name as $v ) {
print $v;
}
foreach( $email as $v ) {
print $v;
}
J'obtiendrai quelque chose comme ceci:
nom1nom2nom3email1email2email3
comment puis-je obtenir ces tableaux dans quelque chose comme le code ci-dessous
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);
donc ma sortie est comme ceci:
Le nom est name1 et l'email est email1 , merci
Le nom est name2 et l'email est email2 , merci
Le nom est name3 et l'email est email3 , merci
merci pour toute aide ou conseil
$emails[1]
correspond à l'utilisateur nommé$name[1]
? Je pense que j'ai rencontré des problèmes avec cela dans le passé, mais je me trompe peut-être. MerciPar exemple, en nommant les champs comme
(ce qui est également possible lors de l'ajout d'éléments via javascript)
Le script php correspondant pourrait ressembler à
la source
Je sais que c'est un peu tard maintenant, mais vous pouvez faire quelque chose comme ceci:
Le test avec:
Ceci pour moi a produit:
la source
Et si vous disposez d'un tableau de jeux de champs?
J'ai ajouté un champ caché pour compter le nombre de jeux de champs. L'utilisateur peut ajouter ou supprimer les champs, puis les enregistrer.
la source
J'ai également rencontré ce problème. Étant donné 3 entrées: champ [], champ2 [], champ3 []
Vous pouvez accéder dynamiquement à chacun de ces champs. Étant donné que chaque champ sera un tableau, les champs associés partageront tous la même clé de tableau. Par exemple, données d'entrée données:
Bob et son email et son sexe partageront la même clé. Dans cet esprit, vous pouvez accéder aux données dans une boucle for comme ceci:
Cela évolue également. Tout ce que vous avez à faire est d'ajouter vos variables de tableau respectives chaque fois que vous avez besoin d'ajouter de nouveaux champs.
la source
Cependant, la solution de VolkerK est la meilleure pour éviter de manquer le couple entre l'email et le nom d'utilisateur. Vous devez donc générer du code HTML avec PHP comme ceci:
Modifiez $ total_data en fonction de vos besoins. Pour le montrer, comme ceci:
En supposant que les données ont été envoyées à l'aide de la méthode POST.
la source
Néanmoins, vous pouvez utiliser le code ci-dessous comme,
la source
C'est simple:
la source
L'utilisation de cette méthode devrait fonctionner:
la source