0

我有一个似乎很容易解决的问题。我有一个带有复选框组的 html 表单,我希望能够强制选择复选框。在这一点上,我只想写一个错误,如果没有从组中选择任何复选框,则会出现回显。我通过 mysql 查询发送复选框数组,当没有选择任何内容时,我得到一个空页面。我的困惑是如何编写 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>
4

3 回答 3

1

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

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

于 2012-12-08T22:46:35.190 回答
0

假设它不是 POST

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

$GET是由表单元素的名称 ( ) 键控的散列color。当名称以 结尾时[],它变成一个数组。对于复选框,仅发送选中的复选框。

于 2012-12-08T22:45:46.593 回答
0

你正在寻找的是这样的东西......

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

但是为什么要浪费用户宝贵的时间让他们提交来找出他们的错误呢?为什么不使用一些不错的 JavaScript(jQuery 或其他),只允许他们在完成后提交表单并让您满意?您甚至可以禁用“提交”按钮,直到他们这样做,或者在他们未能填写足够信息时显示简洁的错误。

于 2012-12-08T22:48:19.337 回答