首頁  >  文章  >  後端開發  >  表單提交 PHP表單提交表單名稱含有點號()則會轉換為底線(_)

表單提交 PHP表單提交表單名稱含有點號()則會轉換為底線(_)

WBOY
WBOY原創
2016-07-29 08:47:29883瀏覽

最近在做公司專案的時候,發現一個奇怪的問題,遞交一個正常表單,竟然發現不能正常取得到遞交的值,這一發現,不免讓我開始的時候一頭霧水,開始的時候一度認為是我的服務有問題,不能正常的寫入資料庫,後來偵測SQL語句發現,原來問題竟然出現在取得資料上,取得到的資料竟然都是空的,後來一調試發現,原來遞交到後端的所有變量,都已經不是預期的變量,竟然被PHP轉換了。
提供測試程式碼如下:

複製程式碼 程式碼如下:




測試表單提交

測試表單提交

action="" method="post">
名字:

密碼:

QQ:

住址:

電話:

性別:

commit



if ($_POST) {
echo '
'; 
var_export($_POST);
}
?>

程式碼實例1
運行之後結果如下:

 PHP表单提交表单名称含有点号()则会被转化为下划线(_)


圖1
圖1

可以看到所有

🎜圖1 🎜圖1 🎜 ,都被後端轉化成了_下劃線,為了測試其他的一些符號,所以做瞭如上的測試,至今為止,僅發現點號(.)會被轉化為下劃線(_),所以導致在後端我想當然的用info.name去訪問的時候,不能發現,因為它其實已經被轉換成了info_name。 🎜所以以後大家在使用表單的時候,盡量不要用.命名。 🎜 以上就介紹了表單提交 PHP表單提交表單名稱含有點號()則會被轉化為下劃線(_),包括了表單提交方面的內容,希望對PHP教程有興趣的朋友有所幫助。 🎜 🎜 🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn