2013-09-26 23 views
5

Tôi có một trang trên trang web của mình được tạo động với thông tin từ cơ sở dữ liệu SQL. Cũng như các dữ liệu được hiển thị một liên kết xóa cũng được tạo ra cho mỗi hồ sơ liên kết đến một tập tin php gọi là deleteRecord.php xóa hồ sơ đó từ cơ sở dữ liệu.Nút xác nhận trước khi chạy xóa thường trình từ trang web

Example of data listings

Có cách nào tôi có thể kết hợp một thông báo xác nhận để khi vào liên kết Xoá được nhấp vào nó sẽ chỉ chạy file deleteRecord.php nếu câu trả lời là Có?

+0

Kiểm tra điều này http://stackoverflow.com/questions/16121538/javascript-confirm-before-deletion-with-php-mysql –

+1

Bạn cũng nên xem xét bằng cách sử dụng triển khai Ajax của jQuery cho điều này - điều đó có nghĩa là bạn không cần phải điều hướng khỏi trang này. – Wez

Trả lời

26

Bạn có thể sử dụng JavaScript. Hoặc đặt mã nội tuyến, vào một hàm hoặc sử dụng jQuery.

  1. Inline:

    <a href="deletelink" onclick="return confirm('Are you sure?')">Delete</a> 
    
  2. Trong một hàm:

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

    và sau đó đặt điều này trong <head>:

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

    Cái này có làm việc nhiều hơn, nhưng ít kích thước tệp nếu danh sách dài.

  3. Với jQuery:

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

    Và đặt này trong <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> 
    
+0

Tuyệt vời - cảm ơn sự giúp đỡ của bạn. Tuy nhiên trong phần 2 tôi có hai dòng

2

Bạn có 2 lựa chọn

1) Sử dụng javascript để xác nhận xóa (dùng xử lý sự kiện onsubmit), tuy nhiên nếu khách hàng có JS bị tắt, bạn đang gặp rắc rối.

2) Sử dụng PHP để lặp lại thông báo xác nhận, cùng với nội dung của biểu mẫu (ẩn nếu bạn thích) cũng như nút gửi có tên "xác nhận", trong PHP kiểm tra xem $_POST["confirmation"] có được đặt hay không.

0

Bạn có thể làm điều đó bằng thông báo confirm() sử dụng Javascript.

0

Hãy thử điều này một:

<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>'; 
2

Gọi chức năng này onclick nút

/*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(); 
    } 
} 
0

<?php 
 
$con = mysqli_connect("localhost","root","root","EmpDB") or die(mysqli_error($con)); 
 
if(isset($_POST[add])) 
 
{ 
 
\t $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); 
 
    
 
} \t 
 
?> 
 
<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>

Các vấn đề liên quan