最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP中實現(xiàn)接收多個name相同但Value不相同表單數(shù)據(jù)實例

 更新時間:2015年02月03日 11:40:04   投稿:junjie  
這篇文章主要介紹了PHP中實現(xiàn)接收多個name相同但Value不相同表單數(shù)據(jù)實例,需要的朋友可以參考下

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

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

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

這樣,整個需求就實現(xiàn)了,缺點(diǎn)是對一部分使用相同name表單的網(wǎng)站必須要更改一下數(shù)據(jù),如果你有更好的方法,歡迎和我留言溝通。

相關(guān)文章

  • PHP循環(huán)獲取GET和POST值的代碼

    PHP循環(huán)獲取GET和POST值的代碼

    用php循環(huán)獲取頁面中g(shù)et和post的值
    2008-04-04
  • 最新評論

    岳池县| 鄢陵县| 随州市| 临武县| 仙桃市| 岱山县| 含山县| 勃利县| 嘉善县| 遂宁市| 汝南县| 扎囊县| 柞水县| 裕民县| 沙湾县| 栾川县| 宿州市| 通州市| 涞水县| 西充县| 浮山县| 包头市| 凌海市| 聂拉木县| 云霄县| 三原县| 大足县| 定西市| 澄江县| 藁城市| 杂多县| 安多县| 东台市| 三穗县| 都兰县| 桂阳县| 涟水县| 彭水| 新源县| 邢台市| 迭部县|