Heim >Backend-Entwicklung >PHP-Tutorial >Lösen Sie das Problem der PHP-Verarbeitung der Formularübermittlung mehrerer Eingabe-Tags mit demselben Namensattributwert

Lösen Sie das Problem der PHP-Verarbeitung der Formularübermittlung mehrerer Eingabe-Tags mit demselben Namensattributwert

不言
不言Original
2018-05-02 10:29:102243Durchsuche

In diesem Artikel wird hauptsächlich erläutert, wie das Problem der Eingabe von Tags mit demselben Namensattributwert beim Senden mehrerer Formularformulare in PHP gelöst werden kann. Jetzt können Freunde in Not darauf verweisen

Eine Frage

Während des Entwicklungsprozesses des Unternehmens sind wir auf ein Problem gestoßen: Wie gehen wir mit der Formularübermittlung mehrerer Eingabe-Tags um? mit demselben Namensattributwert? Der Quellcode lautet wie folgt (der Quellcode hat die Form):

<!--{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}-->

Zweite Lösung

Im obigen Quellcode werden durch die Schleife mehrere Eingabeelemente mit demselben Namensattributwert im Formular generiert. Wenn Sie auf „Senden“ klicken, kann die Hintergrund-PHP-Datei die Eingabe nur in einem p-Element mithilfe von $_POST abrufen . Der vom Element übergebene Wert, der vom Radiotyp-Eingabeelement übergebene Wert muss jedoch der ausgewählte sein. Ändern Sie dementsprechend den gleichen Namensattributwert einiger Eingabeelemente im obigen Quellcode in ein Array und verwenden Sie dann den Namensattributwert des ausgewählten Radiotyp-Eingabeelements in der Hintergrund-PHP-Datei, um das gesamte übergebene p-Element zu bestimmen. Der geänderte Code lautet wie folgt:

<!--{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}-->

php-Datei:

$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];

Verwandte Empfehlungen :

Lösen Sie unter Linux das Problem der Inkonsistenz zwischen PHP -v- und PHPInfo-Versionen

So lösen Sie das Problem von verstümmeltem Code, wenn PHP file_get_contents verwendet Methode zum Erfassen von Webseitendaten


Das obige ist der detaillierte Inhalt vonLösen Sie das Problem der PHP-Verarbeitung der Formularübermittlung mehrerer Eingabe-Tags mit demselben Namensattributwert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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