需要复选框选择php

时间:2012-12-08 22:36:44

标签: php html mysql

我有一个似乎很容易在我脑海中解决的问题。我有一个带有复选框组的html表单,我希望能够强制执行一系列复选框。此时我只想编写一个错误,如果没有从组中选择任何复选框,则会出现echo。我通过mysql查询发送checkbox数组,当没有选择任何内容时,我得到一个空页面。我的困惑是如何编写PHP代码以返回错误。我试过了

if (empty($_GET){
echo "ERROR" ;}

if (empty($color)){
echo "ERROR" ;}

也许我只是脑死了,但这似乎应该有效。这是我的html代码,目前正在为复选框工作。

<input type="checkbox" name="color[]" value="Black">Black
<input type="checkbox" name="color[]" value="Blue">Blue
<input type="checkbox" name="color[]" value="Brown">Brown
<input type="checkbox" name="color[]" value="Green">Green 
<input type="checkbox" name="color[]" value="Grey">Grey
<input type="checkbox" name="color[]" value="Orange">Orange 
<input type="checkbox" name="color[]" value="Pink">Pink
<input type="checkbox" name="color[]" value="Purple">Purple
<input type="checkbox" name="color[]" value="Red">Red
<input type="checkbox" name="color[]" value="Teal">Teal
<input type="checkbox" name="color[]" value="White">White
<input type="checkbox" name="color[]" value="Yellow">Yellow
<br>
<input type="checkbox" name="pattcat[]" value="Home Decor">Home Decor
<input type="checkbox" name="pattcat[]" value="Children">Children
<input type="checkbox" name="pattcat[]" value="Tops Women">Tops Women
<input type="checkbox" name="pattcat[]" value="Accessories">Accessories
<input type="checkbox" name="pattcat[]" value="Lace">Lace
<input type="checkbox" name="pattcat[]" value="Tops Men">Tops Men
<br>

3 个答案:

答案 0 :(得分:1)

你试过if( empty($_GET['color']))吗?仅仅因为它是一个数组并不意味着它与普通的GET变量有任何不同。

另外,请确保表单方法是GET,而不是POST。

答案 1 :(得分:0)

假设它不是POST

if (empty($_GET["color"]){
    echo "ERROR" ;
}

$GET由表单元素的名称(color)进行哈希键控。当名称以[]结尾时,它将成为一个数组。对于复选框,仅发送已选中的复选框。

答案 2 :(得分:0)

您正在寻找的是这样的......

if (empty($_POST["color"]) {
    echo "ERROR" ;
}

但为什么要浪费用户的宝贵时间让他们提交以找出他们的错误?为什么不使用一些不错的JavaScript(jQuery或其他)只允许他们在表单完成后提交表单满意?您甚至可以禁用“提交”按钮,直到它们无法填写足够的信息时出现简明错误。