【发布时间】:2017-06-20 07:52:21
【问题描述】:
我已经在这里看到了一些关于这个主题的问题,但我看不到我正在尝试做的事情的解决方案。我有一个表,我希望能够选中每行旁边的复选框以具有多个删除功能。我在表格上方放置了一个删除按钮。
我的删除按钮:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="submit" id="staff_list_submit" name="multi_delete" value="Delete"
onclick="return confirm('Do you really want to do that?')">
</form><br>
我的 TD 包含复选框:
<td style="width: 60px; text-align: center; vertical-align: middle;"><input name="checkbox[]" type="checkbox" value="<?php echo $row['staff_id']; ?>"></td>
我处理删除的 PHP 代码:
if(isset($_POST['multi_delete']))
{
$checkbox = $_POST['checkbox'];
for($i=0;$i<count($checkbox);$i++){
$del_id = $checkbox[$i];
echo $del_id;
$stmt = $conn->prepare("DELETE FROM `Tom`.`staff_details` WHERE `staff_id`=`$del_id`;");
$result = $stmt->execute();
}
if($result) {
exit(header('Location: staff_multiple_delete.php'));
}
}
我尝试回显$del_id,但没有任何回复。
当我点击删除按钮时,屏幕上确实出现了两个错误:
Undefined index: checkbox
Undefined index: result
我一直在努力解决这个问题,如果有任何帮助,我将不胜感激。我还是 PHP 新手
谢谢
【问题讨论】:
-
了解prepared Statements以防止SQL注入
-
表单中有n个元素
Checkbox? -
$_POST['checkbox']是从哪里来的? -
复选框来自我的输入复选框的名称。第二个代码sn-p。准备好的语句稍后会添加,我只是想先得到一些工作代码。