0

我有 HTML

<td><input value="on" checked="checked" name="checkbox1[0]" type="checkbox"></td>
<td><input value="on" checked="checked" name="checkbox2[0]" type="checkbox"></td>
<td><input value="on" checked="checked" name="checkbox3[0]" type="checkbox"></td>

和功能

function checkbox_verify($_name) {
    $result = 0;
    if(isset($_REQUEST[$_name])) {
        if($_REQUEST[$_name] == 'on') {
            $result = 1;
        } else {
            $result = 0;
        }
    }
    return $result;
}

使用:

$tmp = checkbox_verify("checkbox[$k]") . " " . checkbox_verify("checkbox2[$k]"). " " . checkbox_verify("checkbox3[$k]");

我只想选中复选框 - 选中与否。但每次结果都是“0”

4

2 回答 2

2

PHP 自动将foo[bar]-style 字段名称转换为数组。因此,您将需要检查$_REQUEST['checkbox1'][0]. 由于复选框仅在选中时才具有值,因此以下检查就足够了:

if(isset($_REQUEST['checkbox1'][0])) {
    // do stuff
}

另一种选择是将您的复选框重命名为不包括括号。然后你可以简单地检查$_REQUEST['name-of-the-checkbox'].

于 2012-12-22T11:13:36.357 回答
0

删除[0]名称:

<td><input value="on" checked="checked" name="checkbox1" type="checkbox"></td>
<td><input value="on" checked="checked" name="checkbox2" type="checkbox"></td>
<td><input value="on" checked="checked" name="checkbox3" type="checkbox"></td>

然后你可以检查它isset

function checkbox_verify($_name) {
  return isset($_REQUEST[$_name]);
}
于 2012-12-22T11:13:31.000 回答