2013-09-26 18 views
5

Ich habe eine Seite auf meiner Website, die dynamisch mit Informationen aus einer SQL-Datenbank erstellt wird. Neben den angezeigten Daten wird auch ein Löschlink für jeden Datensatz erstellt, der auf eine PHP-Datei namens deleteRecord.php verweist, die diesen Datensatz aus der Datenbank löscht.Bestätigen Taste vor dem Löschen-Routine von der Website läuft

Example of data listings

Gibt es eine Möglichkeit, eine Bestätigungsnachricht übernehmen kann, so dass, wenn der Link Löschen geklickt wird, es wird nur die deleteRecord.php-Datei ausgeführt, wenn die Antwort Ja ist?

+0

prüfen diese http://stackoverflow.com/questions/16121538/javascript-confirm-before-deletion-with-php-mysql –

+1

sollten Sie auch prüfen, mit jQuery's Ajax-Implementierung dafür - es würde bedeuten, dass Sie nicht von dieser Seite weg navigieren müssen. – Wez

Antwort

26

könnten Sie JavaScript verwenden. Setzen Sie den Code entweder in eine Funktion oder verwenden Sie jQuery.

  1. Inline:

    <a href="deletelink" onclick="return confirm('Are you sure?')">Delete</a> 
    
  2. In einer Funktion:

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

    und diese dann setzen in <head>:

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

    Dieses mehr Arbeit, aber weniger Dateigröße wenn Die Liste ist lang.

  3. Mit jQuery:

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

    Und dieses in <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

Ausgezeichnet - vielen Dank für Ihre Hilfe. In Abschnitt 2 I haben Sie jedoch zwei

2

Sie haben 2 Möglichkeiten

1) Verwenden Sie Javascript, das Löschen zu bestätigen (onsubmit Event-Handler) verwenden, aber wenn der Kunde hat JS deaktiviert ist, sind Sie in Schwierigkeiten.

2) Verwenden Sie PHP, um eine Bestätigungsmeldung zusammen mit dem Inhalt des Formulars (ausgeblendet, wenn Sie möchten) sowie eine Übermittlungsschaltfläche namens "Bestätigung", in PHP überprüfen, ob $_POST["confirmation"] festgelegt ist.

0

Sie können es mit einer confirm() Nachricht tun mit Javascript.

0

Versuchen Sie dieses:

<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

Rufen Sie diese Funktion Onclick der Taste

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

Verwandte Themen