我只是在构建一个简单的待办事项列表。我构建了复选框,将其保存为 cookie,以便下次用户可以看到选中的复选框。
我的代码的一部分:
//this code is in a table which shows checkboxes in each row.
//tasks is the query which selects all from the database
<form action="index.php" method="POST" id="checksubmit" name="checksubmit">
<?php
$i = 1;
while ($row = mysqli_fetch_array($tasks)) { ?>
<tr>
<td class="tick"><div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="check<?php echo $row['id'];?>" name="arraycheck[]" value="<?php echo $row['id'];?>"
<?php
if ((((isset($_POST['arraycheck'])) && (in_array($row['id'], $_POST['arraycheck'])))) || (isset($_COOKIE[$row['id']]))) {
if (!isset($_COOKIE[$row['id']])) {
setcookie ($row['id'],"checked='checked'",time()+3600000);
}
}
if ((isset($_POST['button-submit'])) && (!in_array($row['id'], $_POST['arraycheck']))) {
setcookie ($row['id'],"",time()-3600);
}
echo $_COOKIE[$row['id']];
?>>
<label class="custom-control-label" for="check<?php echo $row['id'];?>"></label>
</div>
</td>
</tr>
<?php
$i++;
}
?>
代码工作得很好!复选框由 cookie 保存。
但问题:只有前四行有效,从第五行开始,一切都不起作用。多么奇怪的错误!
开满天机
狐的传说