2 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
您的代碼存在一些問題:
該setcookie()函數(shù)調(diào)用不會在所有的工作和將失敗,“頭已經(jīng)發(fā)送”警告。這是您的代碼不起作用的主要原因。
您在沒有table 的情況下使用tr。如果您有表格之外的表格,我認(rèn)為這是無效的。
至少在您發(fā)布的代碼中,表單沒有關(guān)閉。
如果未設(shè)置 cookie,此行會產(chǎn)生“未定義偏移”警告:
回聲 $_COOKIE[$row['id']];
你還應(yīng)該縮進(jìn)你的代碼,因?yàn)槟菢幽憧梢愿玫乜吹藉e(cuò)誤。如果尚未完成,請將其添加到開頭以查看錯(cuò)誤和警告:
error_reporting(E_ALL | E_NOTICE);

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
完整代碼:
<table class="table">
<thead class="thead-dark">
<tr>
<th>STT</th>
<th>L?i nh?c</th>
<th style="width: 50px;">Xong?</th>
<th style="width: 50px;">?nh</th>
</tr>
</thead>
<tbody>
<form action="index.php" method="POST" id="checksubmit" name="checksubmit">
<?php $i = 1; while ($row = mysqli_fetch_array($tasks)) { ?>
<tr>
<td> <?php echo $i; ?> </td>
<td class="task"> <?php if(isset($_COOKIE[$row['id']])) {echo '<span style="color:gray;"><strike>';} echo $row['task']; if(isset($_COOKIE[$row['id']])) {echo '</strike></span>';} ?> </td>
<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>
<td><?php if (!empty($row['image'])) { ?> <a href="view.php?idimg=<?php echo $row['id']?>" class="btn btn-primary btn-sm"><i class="fas fa-image"></i></a> <?php } ?></td>
</tr>
<?php $i++; } ?>
<tr>
<td></td>
<td></td>
<td></td>
<td><input type="submit" value="L?u" class="btn btn-primary" name="button-submit">
</form></td>
</tr>
</tbody>
</table>
- 2 回答
- 0 關(guān)注
- 185 瀏覽
添加回答
舉報(bào)