91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中如何實現接收多個name相同但Value不相同表單數據

發布時間:2021-08-23 13:44:56 來源:億速云 閱讀:138 作者:小新 欄目:開發技術

這篇文章主要介紹PHP中如何實現接收多個name相同但Value不相同表單數據,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

在一個詢盤留言管理系統時候一個問題,留言的前臺的表單當中出現很多name值相同的input框,這些框是由用戶填寫的各不相同的值,現在要遷移到php平臺上,而且要求不能改變前臺的任何表單(因為用到這個表單的網站實在是太多了,所以必須要考慮轉移的兼容性,就連form的提交地址也不能變,必須是提交到某個asp頁面上)。form提交地址問題,可以用偽靜態或其它方法直接解決。由于以前的系統是由asp做的,asp在處理相同name值的表單的時候,是直接用逗號把前臺提交的值連起來,而php卻不一樣,它接收相同的name的input的時候,是最后一個把前面的值給覆蓋掉了。那么,怎么樣在不改寫前臺的基礎上,做到能接受到所有name相同的input的值呢?當時腦子里浮現兩個想法,第一個是讓這個input的name以數組的方式傳到后臺,然后作出處理,但是很快被否定掉了,因為這樣也必須要改動前臺的代碼,讓
<input type="text" name="a" />改成<input type="text" name="a[]" />。第二個想法是php配置當中,有沒有類似的設置可以讓php像asp這樣處理相同name值的表單,查了半天資料,也沒有找到。

最后發現,只能退而求其次,稍微改動一下前臺,把name換成數組,幸好這樣去用的網站并不多。那么接下來就是后臺處理數據的問題了,前臺的name有一部分改了,這時候就會出現一種情況,php不知道由form提交過來的是字符串還是數組,那么怎么樣去做呢,我的辦法是寫一個函數:

function input_treat($input){
 if(gettype($input)=="string"){
 return htmlentities(trim($input),ENT_QUOTES);
 }else if(gettype($input)=="array"){
 $nd="";
 foreach($input as $v){
  $nd .=htmlentities(trim($v),ENT_QUOTES)." ";
 }
 return $nd;
 }else{
 return false;
 }
}

用input_treat()函數去處理GET或者POST過來的值,如果是字符串,那么把字符串處理一下返回,如果是數組,那么遍歷這個輸入,用空格把數組的每個元素連起來,然后返回整個連起來的字符串。

這樣,整個需求就實現了,缺點是對一部分使用相同name表單的網站必須要更改一下數據

以上是“PHP中如何實現接收多個name相同但Value不相同表單數據”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

阿巴嘎旗| 东乌珠穆沁旗| 慈溪市| 乌审旗| 石门县| 呼伦贝尔市| 平安县| 大安市| 施甸县| 通海县| 南木林县| 海原县| 武邑县| 天等县| 巢湖市| 鄂伦春自治旗| 凌云县| 浪卡子县| 荆门市| 金山区| 无棣县| 合川市| 玛曲县| 宁安市| 临邑县| 咸宁市| 宜城市| 海阳市| 铜山县| 靖宇县| 东乡| 博客| 阿坝县| 荣昌县| 肥西县| 汾阳市| 六枝特区| 汝州市| 全州县| 石狮市| 高州市|