Здесь есть несколько вещей не так ..
1) Ваша форма method="POST"
. В вашем delete.php вы используете $_GET['checkbox'].
Вместо этого используйте $_POST['checkbox']
. ($_GET['delete']
должно быть $_POST['delete']
).
2) Вы повторяете код PHP:
if ($result) {
echo '
<form method="post" action="delete.php">
<table id="list">
while ($row = $result->fetch_object()) {
$id = $row->id;
$fullname = $row->fullname
Вам необходимо завершить выражение echo, прежде чем продолжить работу с кодом PHP:
if ($result) {
echo<<<formheader
<form method="post" action="delete.php">
<table id="list">
formheader;
while ($row = $result->fetch_object()) {
$id = $row->id;
$fullname = $row->fullname
3 & 4) Поместите кавычки вокруг ваших значений в элементе ввода, например:
<input type="checkbox" name="checkbox[]" id="checkbox" value="$id" />
И если вы собираетесь эхом так, то избегайте двойных кавычек, поскольку это в выражении эха:
<input type=\"checkbox\" name=\"checkbox[]\" id=\"checkbox\" value=\"$id\" />
5) Ваша $_POST
очистка - это то, что очищает ваш многомерный массив $ _POST ['checkbox'] от db.php
.
Когда я удаляю это из db.php
foreach ($_POST as $key => $value) {
$_POST[$key] = mysqli_real_escape_string($value);
}
Тогда ваш print_r($_POST)
должен отобразить ваши значения. Предполагая, что все остальное в порядке, это должно работать. Однако вам необходимо пересмотреть способы очистки ваших переменных POST.