在PHP中无法识别的值

时间:2013-02-14 06:22:06

标签: php

<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 个答案:

答案 0 :(得分:1)

在“i”之前循环时,你失踪了

$。并且$ i没有增加。

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

答案 1 :(得分: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++;
    }
}
?> 

答案 2 :(得分: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,但是在后一个looop中,你得到了未定义的索引

答案 3 :(得分: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++;
    }
}