這篇文章主要介紹了解決php 處理form 表單提交多個name 屬性值相同的input 標籤問題,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
一問題
在公司的開發過程中,遇到了一個問題:如何處理form 表單提交了多個name 屬性值相同的input 標籤?原始碼如下(原始碼是在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}-->
二解決方法
##在上述原始碼中,透過loop 循環,在form 表單中產生了多個name屬性值相同的input 元素,當點擊提交時,後台的php 檔案使用$_POST 僅能取得到一個p 元素中的input元素傳過來的值,但是,radio 類型的input 元素傳過來的值一定是被選中的那一個。據此,修改上述原始碼中一些 input 元素的相同 name 屬性值為數組,然後在後台 php 檔案透過被選取的 radio 類型的 input 元素的 name 屬性值,確定所傳過來的整個 p 元素。修改後的程式碼如下:<!--{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}-->
$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];
linux下,解決php -v與phpinfo版本不一致的問題
#如何解決php用file_get_contents方法抓取網頁資料出現亂碼
#
以上是解決php 處理 form 表單提交多個 name 屬性值相同的 input 標籤問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!