0
<form action="" method="post">
<?php
$i=0;
while(i<4){ ?> 
<input type="checkbox" name="<?php echo 'chkApprove_'.$i; ?>"/>
<?php
}

?>
<input type="submit" name="btnsubmit"/>
</form>

if(isset($_POST['btnsubmit']))
 {

    $i=0;
    while($i<4)
    {
        echo $i;
        $chek=$_POST['chkApprove_'.$i];// Error Undefined Index

        $i++;
    }
 }

错误显示为未定义索引:chkApprove_0...chkApprove_3。我在这里做错什么了吗。

4

4 回答 4

1

在“i”之前的while循环中缺少$。并且 $i 没有增加。

<?php
$i=0;
while($i<4){ ?> 
 <input type="checkbox" name="<?php echo 'chkApprove_'.$i; ?>"/>
<?php
     $i++;
}
?>
于 2013-02-14T06:25:15.633 回答
1

试试这个:你从$i=0但不增加开始$i++

<form action="" method="post">
<?php
    $i=0;
    while($i < 4)
    { 
?> 
    <input type="checkbox" name="<?php echo 'chkApprove_'.$i; ?>"/>
<?php
    $i++;
    }
?>
<input type="submit" name="btnsubmit"/>
</form>
<?php
if(isset($_POST['btnsubmit']))
{
    $i=0;
    while($i < 4) {
        echo $i;
        $chek=$_POST['chkApprove_'.$i];// Error Undefined Index
        $i++;
    }
}
?> 
于 2013-02-14T06:28:52.070 回答
0

好吧,您有语法错误,并且忘记在此循环中增加 $i :

    $i=0;
while(i<4){ ?> 
<input type="checkbox" name="<?php echo 'chkApprove_'.$i; ?>"/>
<?php
}

应该

   $i=0;
while($i<4){ ?> 
<input type="checkbox" name="<?php echo 'chkApprove_'.$i; ?>"/>
<?php
$i++;
}

因为你没有在初始循环中增加 $i ,但是在后面的循环中你这样做了,你得到了未定义的索引

于 2013-02-14T06:25:38.970 回答
0

您更正的代码:

<form action="" method="post">
    <?php
$i=0;
while($i<4){
    ?>
    <input type="checkbox" name="<?php echo 'chkApprove_' . $i; ?>"/>
    <?php
    $i++;
    }
    ?>
    <input type="submit" name="btnsubmit"/>
</form>
<?php
if (isset($_POST['btnsubmit'])) {

    $i = 0;
    while ($i < 4) {
        echo $i;
        $chek = $_POST['chkApprove_' . $i];
        // Error Undefined Index

        $i++;
    }
}
于 2013-02-14T06:25:57.027 回答