我想在我的網站上放置一張表格,以贈送3個獎品。每個成員能夠在列表中僅選擇他們希望獲勝的兩個項目。如何僅允許2選擇複選框與?
我已經創建了表單並使用JavaScript工作正常,但它是客戶端,不能被信任。
什麼是最好的方式來實現這樣的事情,並確保每個用戶只能選擇2項目?用PHP做這件事的最好方法是什麼?
感謝任何幫助。
我想在我的網站上放置一張表格,以贈送3個獎品。每個成員能夠在列表中僅選擇他們希望獲勝的兩個項目。如何僅允許2選擇複選框與?
我已經創建了表單並使用JavaScript工作正常,但它是客戶端,不能被信任。
什麼是最好的方式來實現這樣的事情,並確保每個用戶只能選擇2項目?用PHP做這件事的最好方法是什麼?
感謝任何幫助。
爲什麼不使用單選按鈕?
<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>
是的,如果JavaScript被禁用,會怎麼樣? – Houssni
@Drew Rush,謝謝,但它仍然是客戶端解決方案。 –
你想在提交之前檢查表單嗎?或者你在乎它是否碰到服務器並返回一個錯誤? –
<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!";
}
}
?>
謝謝,我收到了一些錯誤並修復了它。它看起來像在工作:)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」/> ' –
最佳情形:1)選擇項,2)值發送到服務器; 3)服務器檢查,以及4)給出結果。 – VisioN
單選按鈕怎麼樣? – elclanrs
這是單選按鈕的用途,而不是複選框。通過爲此使用複選框,您將在用戶界面中呈現不一致的用戶體驗。 –