2012-12-24 45 views
0

我想在我的網站上放置一張表格,以贈送3個獎品。每個成員能夠在列表中僅選擇他們希望獲勝的兩個項目。如何僅允許2選擇複選框與?

我已經創建了表單並使用JavaScript工作正常,但它是客戶端,不能被信任。

什麼是最好的方式來實現這樣的事情,並確保每個用戶只能選擇2項目?用PHP做這件事的最好方法是什麼?

感謝任何幫助。

+0

最佳情形:1)選擇項,2)值發送到服務器; 3)服務器檢查,以及4)給出結果。 – VisioN

+2

單選按鈕怎麼樣? – elclanrs

+1

這是單選按鈕的用途,而不是複選框。通過爲此使用複選框,您將在用戶界面中呈現不一致的用戶體驗。 –

回答

0

爲什麼不使用單選按鈕?

<form method="post"> 
    Price 1 <input type="radio" value="price 1" /> 
    Price 2 <input type="radio" value="price 2" /> 
    Price 3 <input type="radio" value="price 3" /> 
</form> 

如果你想允許多個獎項只需切換到複選框

<form method="post"> 
    Price 1 <input type="checkbox" name="price[]" value="price 1" /> 
    Price 2 <input type="checkbox" name="price[]" value="price 2" /> 
    Price 3 <input type="checkbox" name="price[]" value="price 3" /> 
</form> 
+0

他希望用戶能夠選擇2個價格! – Simon

+0

他編輯了他的問題,他的第一個問題是隻挑一個價格 – Houssni

0
<form action="<?=$_SERVER['PHP_SELF']?>" method="post"> 
Price 1<input value="price1" type="checkbox" name="price[]"> 
Price 2<input value="price2" type="checkbox" value="price[]"> 
Price 3<input value="price3" type="checkbox" value="price[]"> 
<input type="submit" name="send" value="Send" /> 
</form> 

然後檢查陣列$_POST['price']的大小:

<? 
    if(isset($_POST['send'])) { 
     if(sizeof($_POST['price']) == 2) { 
      //here you go 
     } else { 
      echo "error, pick exactly two prices!"; 
     } 
    } 

?> 
+0

謝謝,我收到了一些錯誤並修復了它。它看起來像在工作:)if(isset($ _ POST ['submit'])) if(sizeof($ _ POST ['price'])== 2){ echo「OK」 ; \t } else { echo「NOT OK」; \t } } ?> <形式行動= 「check.php」 方法= 「POST」 ID = 「檢查」> 價格1 <輸入值= 「價格1」 類型= 「複選框」 名稱=「價格[] 「> Price 1 Price 1 < input type =「submit」name =「submit」value =「Send」/> ' –

相關問題