我有一张表格,其中会显示各种学生姓名和其他信息,并在数组中显示一个复选框(状态)。
我在这里尝试的只是获取0和1值,以便我以后可以更新表。
我得到了:
未定义的偏移量:C中的2:\ xampp \ htdocs \ SH - 第116行的Test \ test22.php 第116行:echo $ status [$ i]。'';
我理解,如果未选中复选框,则不会考虑。 我还试图使用一个隐藏的复选框,其中包含不同的ID,但无法达到我想要的效果。
有什么方法可以接受未选中框的价值吗?
<?php for ($i=0; $i<=$rowcount-1; $i++){ ?>
<tr>
<td><?php echo $nominee[$i]; ?></td>
<td><textarea name="updated_comment[]" rows="4"><?php echo $comment[$i] ?> </textarea></td>
<td><?php echo $nominator_name[$i]; ?></td>
<td><input type="checkbox" name="status[]" value="1" <?php if ($nomstatus[$i] == 1) echo 'checked'; ?> /></td>
</tr>
<?php }
if(isset($_POST['submit'])) {
$status = (isset($_POST['status']) ? $_POST['status'] : '');
for ($i=0; $i<=$rowcount-1; $i++){
if (empty($status[$i])){$status[$i] = $nomstatus[$i];}
elseif ($status[$i] == "1"){$status[$i] = 1;}
else {$status[$i] = 0;}
echo $status[$i].'</br>';
}
答案 0 :(得分:0)
Undefined offset
错误意味着您正在尝试访问无效的数组位置,例如:
$myArray[0] = "foo";
$myArray[1] = "bar";
echo $myArray[2]; // This should trigger an undefined offset error,
// as your array has only two positions
我猜这个问题与变量$rowcount
的错误重用有关。我建议您尝试以下代码,在其中修改它以评估$status
循环内for
元素的数量。
if(isset($_POST['submit'])) {
$status = (isset($_POST['status']) ? $_POST['status'] : '');
for ($i=0; $i < count($status); $i++){
if (empty($status[$i])){
$status[$i] = $nomstatus[$i];
} elseif ($status[$i] == "1"){
$status[$i] = 1;
} else {
$status[$i] = 0;
}
echo $status[$i].'</br>';
}
}