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 に答える