Кнопка удаления, которая удаляет строку базы данных

Я только что сделал php-функцию

function deletebooking($orderID){ $sql="DELETE FROM bs_reservations WHERE id='".$orderID."'"; $result=mysql_query($sql) or die("oopsy, error when tryin to delete events 2"); } 

У меня есть .php-файл, который обрабатывает представленную форму, а затем отображает HTML-страницу. Как добавить кнопку отмены бронирования, которая вызывает указанную выше функцию на странице HTML. Переменная $ orderID уже установлена.

Добро пожаловать!

Вы можете использовать код javascript на кнопке, которую вы нажимаете, чтобы удалить запись как

 <input type="button" name-"abc" id="abc" onclick="return Deleteqry(<?php echo $orderID ?>);"/> 

Теперь вы можете написать функцию javascript внутри <head></head> как

 function Deleteqry(id) { if(confirm("Are you sure you want to delete this row?")==true) window.location="yourpagename.php?del="+id; return false; } 

Теперь вы можете писать в верхней части страницы, так как

  if($_GET['del']) { deletebooking($orderID); } идентификатор  if($_GET['del']) { deletebooking($orderID); } 

Здесь мы используем оповещение для сообщения о конформации удаления с помощью окна предупреждения javascript …

Две вещи. Сначала найдите «SQL-инъекцию». Санируйте ввод своего запроса.

Второе: не делайте этого. Это не очень хорошая идея. Если orderID уже установлен на странице, то, по-видимому, он может быть изменен пользователем на все, что им нужно, а затем удален. Вместо этого вам следует связать идентификатор orderID с аутентификацией или вместо него указать статус идентификаторов заказа (например, «Удалено»), который предотвращает потерю любых данных.

Кроме этого, другой ответ будет делать то, что вам нужно. Это не сложно.

Вот пример страницы, назовем его page.php :

 <? include "includes/dbconnect.php"; include "includes/functions.php"; if ($_POST['delete']){ deletebooking(intval($_POST['delete'])); echo "deleted!"; exit; } ?> <form action="page.php" method="post"> <input type="hidden" name="delete" value="<?=intval($orderID)?>" /> <input type="submit" value="Delete order #<?=intval($orderID)?>" /> </form> 

Один файл представляет собой форму, которую вы представляете пользователю, и код, который выполняет фактическое удаление. Мы передаем идентификатор записываемой записи как скрытое значение формы.

Я также предложил бы добавить перезагрузку в вашу функцию таким образом, чтобы идентификатор не оставался в URL-адресе после действия удаления.

 $page = 'current.php'; if($_GET['del']) { deletebooking($orderID,$page); } function deletebooking($orderID,$page){ $sql="DELETE FROM bs_reservations WHERE id='".$orderID."'"; $result=mysql_query($sql) or die("oopsy, error when tryin to delete events 2"); header('Location: '.$page, true, 303); }