问题循环复选框问题

时间:2011-12-20 04:35:22

标签: php

我有一系列复选框,其中包含我正在使用的值并生成一个字符串,如果选中复选框,我将“1”添加到字符串中,如果未选中,则将“0”添加到字符串中。

<input type="checkbox" name="auth_0" id="auth_0" class="checkboxes" value="Yes"/>

我的php脚本是......

if (isset($_REQUEST["save"])) {
/*      echo $_REQUEST['auth_0'];*/
   for ($i = 0; $i <= 49; $i++) {
        if ($_REQUEST['auth_[$i]'] == 'Yes') {
            $auth_string .= '1';
        } else {
            $auth_string .= '0';
        }
    }
    echo $auth_string;
}

虽然字符串正在生成,但在两种情况下,如果选中复选框,则其值始终为0。

4 个答案:

答案 0 :(得分:4)

    if ($_REQUEST['auth_[$i]'] == 'Yes') {
    //            ^---------^--- should be " instead

使用'告诉PHP不要解析/插入字符串中的变量值。请改用"

答案 1 :(得分:2)

您需要使用双引号进行字符串插值才能工作。此外,您不使用括号进行数组下载。

您可能想要(根据您的HTML示例判断)......

$_REQUEST["auth_$i"]

答案 2 :(得分:2)

if ($_REQUEST['auth_'.[$i]] == 'Yes') {

这对你也有用..上面提到的答案也可以。

答案 3 :(得分:1)

在HTML中,您有id="auth_0",在PHP中检查auth_[$i] - 请参阅方括号。此外,您在$_REQUEST['auth_[$i]']中有撇号,但没有插入$i的值 - 将其更改为双引号