2013-09-26 19 views
5

Mam stronę na mojej stronie internetowej, która jest dynamicznie tworzona z informacjami z bazy danych SQL. Oprócz wyświetlanych danych tworzony jest również link usuwania dla każdego rekordu, który prowadzi do pliku php o nazwie deleteRecord.php, który usuwa ten rekord z bazy danych.Przycisk potwierdzenia przed uruchomieniem usuwania rutyny ze strony internetowej

Example of data listings

Czy jest jakiś sposób mogę włączyć komunikat potwierdzający tak, że gdy Delete kliknięciu linku to będzie działać tylko plik deleteRecord.php jeśli odpowiedź brzmi Tak?

+0

sprawdzić ten http://stackoverflow.com/questions/16121538/javascript-confirm-before-deletion-with-php-mysql –

+1

Należy również rozważyć używanie do tego celu implementacji ajaxowej jQuery - oznaczałoby to, że nie musisz opuszczać tej strony. – Wez

Odpowiedz

26

Możesz użyć JavaScript. Albo umieść kod w linii, w funkcji lub użyj jQuery.

  1. Inline:

    <a href="deletelink" onclick="return confirm('Are you sure?')">Delete</a> 
    
  2. W zależności:

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

    a następnie umieścić to w <head>:

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

    Ten ma więcej pracy, ale mniej rozmiar pliku, jeśli lista jest długa.

  3. z jQuery:

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

    I umieścić to w <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

Doskonały - dziękuję za pomoc. Jednak w sekcji 2 mam dwie linie:

2

Masz 2 opcje

1) stosowanie javascript, aby potwierdzić usunięcie (użyj onsubmit obsługi zdarzeń), jednak jeśli klient ma wyłączone JS, jesteś w tarapatach.

2) Użyj PHP, aby wyświetlić komunikat potwierdzający, wraz z zawartością formularza (ukryte, jeśli chcesz), a także przycisk przesyłania o nazwie "potwierdzenie", w PHP sprawdzić, czy jest ustawiony $_POST["confirmation"].

0

Możesz to zrobić za pomocą wiadomości confirm().

0

Spróbuj tego:

<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

wywołać tę funkcję onclick przycisku

/*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>

Powiązane problemy