今天遇到一個問題,要保存很多表單信息,苦惱了許久,終於發現一個挺不錯的方法,以數組的形式把表單中的數據提交至後台進行保存。
其實實作起來很簡單,就是給表單中要提交的資訊的name命名時要有一定的規範,我們先比較下下面這兩種方式的差別:
第一種、普通的方式,每個要提交的值都有一個名稱
服務(index.php)很簡單就兩句話
<?php echo "<pre class="brush:php;toolbar:false">"; print_r($_GET);
在渲染好的網頁上填入下面資訊並點擊提交
透過瀏覽器看到的 Query String Paramaters是這樣的
在服務段會收到這樣的訊息
對與後端來說這樣可能不是太好處理,要是能把同一組的三個資訊放在一個數組中,是不是就好處理多了,下面再看看另外一種方式
第二種、陣列的方式進行表單提交
細心看看就會發現,要提交的資料的名字name發生了變化,在這裡看可能還不太明顯,當點擊提交後會發現傳到後端的值整齊多了,看看下面的截圖
透過瀏覽器插件解析過的查詢字串是這樣的
服務端列印出來的資料是這樣的:
當後台收到這樣的資料的時候是不是就好處理多了,省了好多事,當然,這個地方還有要注意的地方,在給要提交的值命名的時候數組中不用加引號,加引號之後後端的鍵值中會存在引號,這點要注意。還有一點要注意的是,現在更流行的做法是ajax提交,用ajax提交的時候怎麼取得表單中的值呢?這個其實也很簡單透過jquery提供的serialize()方法可以很方便的將所有要提交的內容拼接成url字串,然後透過get的方式就可以提交給後台了。
當然了,實際中還可能遇到這樣的問題,要提交的組數(像上面的1、2、3)是不確定的,可以在前端隨意的添加,這個時候怎麼去用數組提交這些內容呢?這個還是可以透過合適的明明很便捷的解決掉的,
先看看瀏覽器傳遞的資料
這時候後端收到的資料是這樣的
得到這樣的數據,也很容易將每一組的資訊進行歸類了。是不是很方便呢,在沒有使用這個方法之前,我每次遇到這樣的問題都很頭疼,現在可以輕鬆的解決掉了。
本文版權歸作者iforever(luluyrt@163.com)所有,未經作者本人同意禁止任何形式的轉載,轉載文章之後必須在文章頁面明顯位置給出作者和原文連接,否則保留追究法律責任的權利。
以上就介紹了數組方式進行表單提交,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。