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++;
    }
 }

エラーは Undefined index: 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 に答える