我們在寫網頁,常常都會用到From表單傳遞資訊。通常我們都是一個一個接收,轉存處理。

<?php

$tempA=$_POST["A"];

$tempB=$_POST["B"];

?>

如果資訊只有一兩個當然沒什麼問題,但是如果前一個表單頁面,如果有超過10個欄位或是20個欄位的時後呢?一行一行加嗎?那不瘋掉才有鬼!

我寫了一個很簡單的處理程序。可以簡化這個動作。

<?php

foreach ($_POST as $key => $value) {
     $$key=$value; 
}

?>

當你加入這段,就不需要一個一個來轉存了。

下面附上一個比較完整的範例來說明:

<form action="inputgoods_process.php" method="post">
商品編號:<input type="text" name="Goods_Serial_Numbers" maxlength="7"><BR/>
商品名稱:<input type="text" name="Goods_Title" maxlength="50"/><BR/>
商品單價:<input type="text" name="Goods_Price" /><BR/>
商品網址:<input type="text" name="Goods_Href" maxlength="128" /><BR/>
商品重量:<input type="text" name="Goods_weight" maxlength="7" /><BR/>
商品長度:<input type="text" name="Goods_length" maxlength="6" /><BR/>
商品寬度:<input type="text" name="Goods_widht" maxlength="6" /><BR/>
商品高度:<input type="text" name="Goods_height[]" maxlength="6" /><BR/>
商品高度:<input type="text" name="test[]" maxlength="6" /><BR/>
商品高度:<input type="text" name="test[]" maxlength="6" /><BR/>
<input type="submit">
</form>

接收段的PHP程式

<?php

foreach ($_POST as $key => $value) {
        $$key=$value;
}

echo $Goods_length;

echo $test[0];

echo test[1];

?>

他會將你在表單中入的Goods_length值值接顯示出來。不用在一行一行打 $Goods_length=$_POST["Goods_length"]。

當然在最下面的部分你會看到有兩個一樣名稱test[]。這個部分他也會轉存成陣列方式。

而GET的話,就是把上面$_POST的地方改成$_GET 即可。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 阿基 的頭像
    阿基

    四處流浪的阿基。I am Vagrant Walker

    阿基 發表在 痞客邦 留言(2) 人氣()