2013-02-14 96 views
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。我在这里做错了什么?未在php中识别的值

+3

这是如何加载?无限循环! – sachleen 2013-02-14 06:24:19

+0

如果未选中复选框,则不会提交。 – Musa 2013-02-14 06:24:51

+4

无限循环,你也忘了$符号 – 2013-02-14 06:24:53

回答

1

$在您在“i”之前的循环中缺少。和$我并没有增加。

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

我保留了这个“$”但仍然无法使用。 – Urbi 2013-02-14 06:31:38

+0

复制上面的代码并粘贴。还有一件事要记住,当你提交时,复选框会被检查。并在复选框的值属性中放入一些值。 – ripa 2013-02-14 06:34:50

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

因为你不$增加我在intial loop,但是在后面的循环中,你会得到未定义的索引

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