Home > Article > Backend Development > Solve the problem of PHP processing form submission of multiple input tags with the same name attribute value
This article mainly introduces how to solve the problem of PHP processing form submission of multiple input tags with the same name attribute value. It has certain reference value. Now I share it with everyone. Friends in need can refer to it
One question
During the development process of the company, we encountered a problem: How to handle multiple input tags with the same name attribute value submitted in the form? The source code is as follows (the source code is in the form):
<!--{loop $address $index $one}--> <p class="address_item"> <p> <label> <input type="hidden" name="express_price" value="{$one['express_price']}" /> <input type="hidden" name="state_fare" value="{$one['state_fare']}" /> <input type="hidden" name="id" value="{$one['id']}" /> <input type="radio" <!--{if $one[ 'default']=='Y' }-->checked<!--{/if}-->name="address" value="{$one['id']}" /><span name="mobile">{$one['mobile']}</span> </label> </p> </p> <!--{/loop}-->
Second solution
In the above source code, through loop loop, multiple input elements with the same name attribute value are generated in the form. When you click submit, the background php file can only obtain the input in one p element using $_POST. The value passed by the element, however, the value passed by the radio type input element must be the selected one. Accordingly, modify the same name attribute value of some input elements in the above source code to an array, and then use the name attribute value of the selected radio type input element in the background php file to determine the entire p element passed. The modified code is as follows:
<!--{loop $address $index $one}--> <p class="address_item"> <p> <label> <input type="hidden" name="express_price[]" value="{$one['express_price']}" /> <input type="hidden" name="state_fare[]" value="{$one['state_fare']}" /> <input type="hidden" name="id[]" value="{$one['id']}" /> <input type="radio" <!--{if $one[ 'default']=='Y' }-->checked<!--{/if}-->name="address" value="{$one['id']}" /> <span name="mobile">{$one['mobile']}</span> </label> </p> </p> <!--{/loop}-->
php file:
$key = 0; $address_id = intval($_POST["address"]); foreach ($_POST['id'] as $k => $v) { if ($v == $address_id) $key = $k; } $_POST['express_money'] = $_POST['exporess_price'][$key];
Related recommendations:
Under Linux, solve the problem of inconsistency between php -v and phpinfo versions
How to solve the problem of garbled webpage data captured by php using the file_get_contents method
The above is the detailed content of Solve the problem of PHP processing form submission of multiple input tags with the same name attribute value. For more information, please follow other related articles on the PHP Chinese website!