2011-08-15 42 views
2

我有一個表單,人們需要提交信息。這部分代碼是不工作的,我不知道爲什麼..我不知道爲什麼..PHP isset無法使用複選框

if (!isset($_POST['maandag']) && !isset($_POST['dinsdag']) && !isset($_POST['geenvoork'])) 
{ 
    echo "Je bent vergeten in te vullen wanneer je aanwezig bent."; 
} 

該帖子在窗體的其餘部分工作,並且是正確的。我想要的是檢查這3個複選框是否未被選中。我究竟做錯了什麼?

+0

爲什麼你不使用這個radiogroup? – TJHeuvel

+1

你應該檢查它們是否是空的,沒有設置。他們應該一直定下來,但如果他們沒有被檢查,他們將是空的。 – Prisoner

+0

它看起來很好.. –

回答

2

如果他們在你的形式,那麼他們將被設置。你可能想檢查它們是否是假的。下面是它是一個,你可以結合其他:

if(!isset($_POST['maandag']) || !$_POST['maandag']) { 
    // do something 
} 

其次,代碼是這樣的裝置,如果複選框沒有設置你只會得到的消息。我不確定,但如果你想拋出一個錯誤信息,你不想要它,如果其中任何一個沒有設置?在這種情況下,您需要||(或)而不是&&(和)。

+0

再次,根據虛假陳述提出錯誤 –

+0

它應該能夠檢查是否所有3個複選框未被選中。如果他們沒有被選中,顯示消息。如果選中1個或更多,則不顯示。無論如何,這工作:if(!isset($ _ POST ['maandag'])&&!$ _ POST ['maandag'] &&!isset($ _ POST ['dinsdag'])&&!$ _ POST ['dinsdag'] &&! isset($ _ POST ['geenvoork'])&&!$ _ POST ['geenvoork']) –

+0

這只是醜陋。 –

3

您可以嘗試做一個print_r($_POST),看看這些字段的值是什麼。這可能會幫助您確定提交/字段值發生了什麼。

-1

正如監獄長說你需要檢查它是否是空的(),但如果它沒有設置,這可能會給你一個通知。

你如果需要:

isset($_POST['checkbox']) && !empty($_POST['checkbox']) 

編輯:愚蠢的我,你的右手它不返回任何東西。用下面發佈的print_r檢查你的帖子聽起來像是最好的選擇。

+1

和作爲評論者指出,聲明是錯誤的。 –

+0

empty()不可靠。如果瀏覽器端的複選框值爲'0',則empty()將爲true。 PHP中可以轉換爲空字符串的任何值都計爲'empty()'。 –

1

我的事情烏爾編碼使複雜。,,

嘗試像

<input type="checkbox" name="test[]" value="1"/> 
<input type="checkbox" name="test[]" value="2"/> 
<input type="checkbox" name="test[]" value="3"/> 

提交值,得到的結果

-1

其實這應該工作...

你可以始終將您的複選框設置爲某個值,並專門檢查該值是否已返回:

<input type="checkbox" name="maandag" value="1"/> 

<?php if(isset($_POST['maandag']) && $_POST['maandag'] != '1') { /* ... */ } 
+1

不適用於複選框。 –

0

在HTML中爲您設置適當的複選框。

<input type="checkbox" ... value="1"> 

您目前接受的解決方案只是使PHP代碼複雜化。

0

我只是做在我使用的,在這裏一個複選框檢查是值:

<input id="Isolated1" type="checkbox" value="1" name="Isolated1"></input> 

在輸入時被選中下面的計算結果爲案例:

isset($_POST["Isolated1"]) 

//True 

($_POST["Isolated1"]) 

//True 

在當輸入的情況下不檢查:

isset($_POST["Isolated1"]) 

//False 

($_POST["Isolated1"]) 

//Notice: Undefined index 

因此,我建議使用empty()函數,sim最後檢查變量是否存在或其值是否爲FALSE。

+0

你知道這個問題是從2011年8月開始的嗎?.. –

+0

我認爲它仍然是相關的,因爲解決方案和功能本身並不過時。除了有人可以發現它不用重複同樣的測試一遍又一遍。我幾乎總是使用谷歌找到解決方案,然後查看前幾個答案... –