2011-10-25 96 views
0

我在我的buy.php頁面中有以下表單。此頁面提交到checkout.php頁面。PHP複選框值

Burger $4.99 <input type="checkbox" name="foods[]" value="burger"/> 
Fries $2.49 <input type="checkbox" name="foods[]" value="fries" /> 
Pizza $10.99 <input type="checkbox" name="foods[]" value="pizza" /> 
Steak $15.59 <input type="checkbox" name="foods[]" value="steak" /> 
Ribs $15.99 <input type="checkbox" name="foods[]" value="ribs" /> 

<input type="submit" name="buy" value="Buy Now" /> 

我想要做的是,當用戶按下立即購買按鈕,他們應該被重定向到checkout.php頁面將顯示他們以前的頁面上買來的價格爲每沿項目這些項目以及所有項目的總數。我可以通過循環遍歷$ _POST ['foods']數組來獲得來自這些輸入字段的值,該數組給出了用戶選擇的每個複選框的值。我怎麼去得到用戶購買的每件商品的價格,以便我可以計算出來,然後顯示這些商品的總量?我需要包括更多的領域嗎?另外,我應該提到,我還沒有爲這些頁面使用數據庫。對不起,我是PHP新手。任何幫助/建議將不勝感激。謝謝。

+1

你應該使用[標籤元素](http://www.w3.org/ TR/html4/interact/forms.html#h-17.9.1)爲屏幕閱讀器和朋友提供更好的訪問,併爲您的複選框提供更大的點擊目標。你也應該把你的標籤放在你的複選框後面(因爲這是那種表單控件的傳統佈局)。 – Quentin

+0

歡迎來到堆棧溢出!但請不要將價格與輸入字段一起發送!他們可以很容易地被操縱! – ComFreek

+0

有沒有這樣的事情作爲一個PHP複選框,讓別人知道什麼是問題,有'標籤'。 –

回答

0

您的服務器端系統應該已經知道價格是多少。您可以將它們保存在一個數組中,您可以使用數據庫(數據庫對於長期維護和靈活性來說是一個更好的主意)。

你有這些項目的ID,所以你只需要在你決定使用的任何數據存儲中查找它們。當你在可能混淆與存儲在窗體中的數據,它使其受到客戶端操縱(所以人們可以降低他們訂購的任何價格),並沒有更簡單,然後存儲數據服務器端。

0

想必你有地方這個數據是可用的,也許一個數據庫,或(啊)硬編碼到腳本中使用數組:

$foods = array(
    'burger' => array('prettyname' => 'Burger', 'price' => 4.99), 
    'fries' => array('prettyname' => 'Freedom Spuds', 'price' => 2.49), 
    etc... 
); 

你會使用這個數據源(不管它恰好)生成複選框/食物列表,然後您可以使用它來查找價格。

+0

嘿謝謝你的提示。我的另一個問題是我在哪裏定義這個數組?在buy.php或checkout.php頁面中?我的輸入欄是否正確,或者是否需要更改食物名稱?謝謝。 – user1013264

0

您應該將其保存在某處(如數據庫或腳本文件)並從那裏應用這些計算。不建議將它集成到HTML/DOM中,因爲它很容易被用戶更改。

0

如果您自己生產了物品的價格,那麼您已經有了他們的成本清單。不要接受從網頁返回的價格,因爲這是在用戶的控制下,無論你放在那裏