Résoudre le problème de la soumission du formulaire de traitement PHP de plusieurs balises d'entrée avec la même valeur d'attribut de nom

不言
Libérer: 2023-03-25 08:12:02
original
2052 Les gens l'ont consulté

Cet article présente principalement comment résoudre le problème des balises d'entrée avec la même valeur d'attribut de nom lors de la soumission de plusieurs formulaires en PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec vous.

Une question

Au cours du processus de développement de l'entreprise, nous avons rencontré un problème : Comment gérer la soumission de formulaire de plusieurs balises d'entrée avec la même valeur d'attribut de nom ? Le code source est le suivant (le code source est sous la forme) :

<!--{loop $address $index $one}-->
<p class="address_item">
   <p>
    <label>
    <input type="hidden" name="express_price" value="{$one[&#39;express_price&#39;]}" />
    <input type="hidden" name="state_fare" value="{$one[&#39;state_fare&#39;]}" />
    <input type="hidden" name="id" value="{$one[&#39;id&#39;]}" />
    <input type="radio" <!--{if $one[ &#39;default&#39;]==&#39;Y&#39; }-->checked<!--{/if}-->name="address" value="{$one[&#39;id&#39;]}" /><span name="mobile">{$one[&#39;mobile&#39;]}</span>
    </label>
   </p>
</p>
<!--{/loop}-->
Copier après la connexion

Deuxième solution

Dans le code source ci-dessus, plusieurs éléments d'entrée avec la même valeur d'attribut de nom sont générés dans le formulaire via la boucle. Lorsque vous cliquez sur Soumettre, le fichier php d'arrière-plan ne peut obtenir qu'un seul élément p en utilisant $_POST. La valeur transmise par l'élément d'entrée, mais la valeur transmise par l'élément d'entrée de type radio doit être celle sélectionnée. En conséquence, modifiez la même valeur d'attribut de nom de certains éléments d'entrée dans le code source ci-dessus en un tableau, puis utilisez la valeur d'attribut de nom de l'élément d'entrée de type radio sélectionné dans le fichier php d'arrière-plan pour déterminer l'intégralité de l'élément p transmis. Le code modifié est le suivant :

<!--{loop $address $index $one}-->
<p class="address_item">
   <p>
    <label>
    <input type="hidden" name="express_price[]" value="{$one[&#39;express_price&#39;]}" />
    <input type="hidden" name="state_fare[]" value="{$one[&#39;state_fare&#39;]}" />
    <input type="hidden" name="id[]" value="{$one[&#39;id&#39;]}" />
    <input type="radio" <!--{if $one[ &#39;default&#39;]==&#39;Y&#39; }-->checked<!--{/if}-->name="address" value="{$one[&#39;id&#39;]}" />
    <span name="mobile">{$one[&#39;mobile&#39;]}</span>
    </label>
   </p>
</p>
<!--{/loop}-->
Copier après la connexion

fichier php :

$key = 0;
$address_id = intval($_POST["address"]);
foreach ($_POST[&#39;id&#39;] as $k => $v) {
  if ($v == $address_id)
     $key = $k;
}
$_POST[&#39;express_money&#39;] = $_POST[&#39;exporess_price&#39;][$key];
Copier après la connexion

Recommandations associées :

Sous Linux, résoudre le problème des versions incohérentes de php -v et phpinfo


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!