我有一个似乎很容易在我脑海中解决的问题。我有一个带有复选框组的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>
答案 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或其他)只允许他们在表单完成后提交表单满意?您甚至可以禁用“提交”按钮,直到它们无法填写足够的信息时出现简明错误。