6

我的网站上有一个页面,该页面是使用 SQL 数据库中的信息动态创建的。除了显示的数据之外,还为每个记录创建删除链接,该链接链接到一个名为 deleteRecord.php 的 php 文件,该文件从数据库中删除该记录。

数据列表示例

有什么方法可以合并确认消息,以便在单击“删除”链接时,如果响应为“是”,它将仅运行 deleteRecord.php 文件?

4

6 回答 6

38

你可以使用 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>
    
于 2013-09-26T07:48:13.567 回答
2

你有2个选择

1)使用javascript确认删除(使用onsubmit事件处理程序),但是如果客户端禁用了JS,你就有麻烦了。

2) 使用 PHP 回显一条确认消息,以及表单的内容(如果您喜欢,可以隐藏)以及一个名为“确认”的提交按钮,在 PHP 中检查是否$_POST["confirmation"]已设置。

于 2013-09-26T07:43:42.073 回答
2

单击按钮时调用此函数

/*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();
    }
}
于 2014-07-10T10:52:20.000 回答
0

您可以confirm()使用 Javascript 处理消息。

于 2013-09-26T07:45:06.947 回答
0

试试这个:

 <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>';
于 2013-09-26T09:28:33.390 回答
0

<?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>

于 2016-01-21T06:25:32.240 回答