Подтвердите кнопку перед запуском процедуры удаления с веб-сайта

У меня есть страница на моем веб-сайте, которая динамически создается с информацией из базы данных SQL. Помимо отображаемых данных, ссылка на удаление также создается для каждой записи, которая ссылается на php-файл с именем deleteRecord.php, который удаляет эту запись из базы данных.

Пример списков данных

Есть ли способ включить сообщение подтверждения, чтобы при щелчке ссылки «Удалить» будет запускаться файл deleteRecord.php, если ответ «Да»?

Вы можете использовать JavaScript. Либо введите код в строку, либо в функцию, либо используйте jQuery.

  1. В очереди:

    <a href="deletelink" onclick="return confirm('Are you sure?')">Delete</a> 
  2. В функции:

     <a href="deletelink" onclick="return checkDelete()">Delete</a> 

    а затем поместите это в <head> :

     <script language="JavaScript" type="text/javascript"> function checkDelete(){ return confirm('Are you sure?'); } </script> 

    У этого есть больше работы, но меньше размера файла, если список длинный.

  3. С помощью jQuery:

     <a href="deletelink" class="delete">Delete</a> 

    И поставьте это в <head> :

     <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> <script language="JavaScript" type="text/javascript"> $(document).ready(function(){ $("a.delete").click(function(e){ if(!confirm('Are you sure?')){ e.preventDefault(); return false; } return true; }); }); </script> 

У вас есть 2 варианта

1) Используйте javascript для подтверждения удаления (используйте обработчик события onsubmit), однако если клиент отключен JS, у вас проблемы.

2) Используйте PHP, чтобы выдать подтверждающее сообщение вместе с содержимым формы (скрытой, если хотите), а также кнопкой отправки под названием «подтверждение», в PHP проверьте, установлено ли $_POST["confirmation"] .

Вызовите эту функцию нажатием кнопки

 /*pass whatever you want instead of id */ function doConfirm(id) { var ok = confirm("Are you sure to Delete?"); if (ok) { if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else { // code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { window.location = "create_dealer.php"; } } xmlhttp.open("GET", "delete_dealer.php?id=" + id); // file name where delete code is written xmlhttp.send(); } } 

Вы можете сделать это с помощью confirm() с помощью Javascript.

Попробуй это :

  <script type="text/javascript"> var baseUrl='http://example.com'; function ConfirmDelete() { if (confirm("Delete Account?")) location.href=baseUrl+'/deleteRecord.php'; } </script> echo '<a type="button" onclick="ConfirmDelete()">DELETE ACCOUNT</a>'; 
 <?php $con = mysqli_connect("localhost","root","root","EmpDB") or die(mysqli_error($con)); if(isset($_POST[add])) { $sno = mysqli_real_escape_string($con,$_POST[sno]); $name = mysqli_real_escape_string($con,$_POST[sname]); $course = mysqli_real_escape_string($con,$_POST[course]); $query = "insert into students(sno,name,course) values($sno,'$name','$course')"; //echo $query; $result = mysqli_query($con,$query); printf ("New Record has id %d.\n", mysqli_insert_id($con)); mysqli_close($con); } ?> 
 <html> <head> <title>mysql_insert_id Example</title> </head> <body> <form action="" method="POST"> Enter S.NO: <input type="text" name="sno"/><br/> Enter Student Name: <input type="text" name="sname"/><br/> Enter Course: <input type="text" name="course"/><br/> <input type="submit" name="add" value="Add Student"/> </form> </body> </html>