134 votes

Entrées multiples avec le même nom à l’aide de POST en php

Est-il possible d'obtenir plusieurs entrées du même nom à la poste et ensuite y accéder à partir de PHP? L'idée est la suivante: j'ai un formulaire qui permet l'entrée d'un nombre indéterminé d'adresses physiques avec d'autres informations. Si j'ai tout simplement a donné à chacun de ces champs du même nom à travers plusieurs entrées et soumis des données par le biais de post, aurait PHP être en mesure d'y accéder?

Dire, par exemple, j'ai cinq d'entrée sur une page nommée "xyz" et je veux accéder à l'aide de PHP. Je pourrais faire quelque chose comme:

    $_POST['xyz'][0]

Si oui, que ferait ma vie dix fois plus facile, comme j'ai pu envoyer une quantité indéfinie de l'information par le biais d'un formulaire et le faire traitées par le serveur tout simplement en parcourant le tableau des articles avec le nom "xyz".

252voto

Eric Points 36290

Changer les noms de vos entrées:

 <input name="xyz[]" value="Lorem" />
<input name="xyz[]" value="ipsum"  />
<input name="xyz[]" value="dolor" />
<input name="xyz[]" value="sit" />
<input name="xyz[]" value="amet" />
 

Ensuite:

 $_POST['xyz'][0] == 'Lorem'
$_POST['xyz'][4] == 'amet'
 

Si c'était le cas, ma vie serait dix fois plus facile, car je pouvais envoyer une quantité indéfinie d'informations via un formulaire et le faire traiter par le serveur simplement en parcourant le tableau d'éléments nommé "xyz".

Notez que ceci est probablement la mauvaise solution. Évidemment, cela dépend des données que vous envoyez.

40voto

aziz punjani Points 14933

Dans votre code HTML, vous pouvez transmettre un tableau avec le nom

 <input type="text" name="address[]" /> 
 

De cette façon, php recevra un tableau d'adresses.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X