2013-09-27 28 views
0

我跟着這個職位的建議: How to read if a checkbox is checked in PHP?如何在PHP中查找複選框的值?

我試圖讓形式複選框值。我試圖分離條件並像這樣一起使用它們,檢查isset並試圖獲得價值。無論哪種方式,它總是返回「否」。我究竟做錯了什麼?

if (isset($_POST['sign']) && $_POST['sign'] == 'yes-checked-sign') { 
    $check2 = "YES"; 
} else { 
    $check2 = "NO"; 
} 

<input type="checkbox" name="sign" value = "yes-checked-sign" /> 
+2

你是否將表單發送到帶有檢查的頁面? – James

+0

嘗試刪除值和「yes-checked-sign」之間的空格。 – Reflic

+0

你只有一個複選框,對吧?這是不可能的,這個代碼給出,得到FALSE。您可以獲得「是」或「否」 – djot

回答

3

檢查isset($_POST['sign'])應該是足夠的。

確保checkbox被一個form元素包圍,因爲它實際上可能不是POSTing它。

<form method="POST" action="foo.php"> 
<!-- Your checkbox goes here. --> 
</form> 
+0

謝謝坎帕裏。是的,表單正確發佈並由表單元素包圍。我有多個複選框,另一個複選框設置爲不同的值並使用類似的條件進行檢查。不幸的是,isset($ _ POST ['sign'])出於某種原因是不夠的。即使勾選也是錯誤的。謝謝 – amespower

0

因爲如果複選框被選中檢查:

if (isset($_POST['sign'])) { 
    $check2 = "YES"; 
} else { 
    $check2 = "NO"; 
} 

形式,檢查前的複選框:

<form method="post"> 
    <input type="checkbox" name="sign" checked/> 
    <input type="submit" value="submit"/> 
</form> 

希望這有助於。