Удалить строку из бд и таблицы при нажатии кнопки
немного не понимаю почему при нажатии кнопки запись из бд не удаляется
<tbody>
<?php
header("Content-Type: text/html; charset=UTF-8");
require_once ('connection.php');
while ($row = mysqli_fetch_array($result)) {?>
<tr>
<form action="index.php" method="post" role = "form">
<td><?php echo $row['vk_id'];?></td>
<td><?php echo $row['name'];?></td>
<td><?php echo $row['qqqq'];?></td>
<td><?php echo $row['wwww'];?></td>
<td><button type="button" class="btn btn-success btn-sm">Изменить</button></td>
<td><input type="submit" name="submitDeleteBtn" value="<?php echo $row['id']?>" required></td>
</form>
</tr>
<?php }
require_once ("delete_tub.php");
?>
</tbody>
код удаления строки delete_tub.php
:
require_once ('connection.php');
if(isset($_GET['submitDeleteBtn']))
{
$id = $_GET['submitDeleteBtn'];
$query ="DELETE FROM botadmin WHERE id = '$id'";
$result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
mysqli_close($link);
}
?>
Ответы (1 шт):
Во-первых, вы посылаете форму методом POST а читаете параметр из $_GET.
Во-вторых, кнопки - не поля для ввода, какой смысл отправлять их вместе с данными?.
В-третьих, почему для кнопки Изменить вы используете тег <button>, а для кнопки Удалить тег <input>? Сами то не путаетесь?
UPDATE
Если я делаю две кнопки с одинаковым именем:
<button type="submit" name="action" value="edit">Сохранить</button>
<button name="action" value="delete">Удалить</button>
Результатом формы помимо текстовых полей будет action "edit" или "delete", в зависимости от того, какую кнопку нажали. Это не похоже на стандартное поведение, требует проверки во всех браузерах отдельно. Про это поведение не могу ничего найти в стандарте. Хотя в примере №20 это явно используется. Каюсь.