我的网站上有一个页面,它是使用SQL数据库中的信息动态创建的。除了显示的数据外,还为每条记录创建了一个删除链接,该链接指向一个名为deleteRecord.php的php文件,该文件从数据库中删除该记录。
有什么方法可以合并确认消息,以便在单击Delete链接时,如果响应为是,它将只运行deleteRecord.php文件?
答案 0 :(得分:35)
您可以使用JavaScript。将代码内联,放入函数或使用jQuery。
内联:
<a href="deletelink" onclick="return confirm('Are you sure?')">Delete</a>
在函数中:
<a href="deletelink" onclick="return checkDelete()">Delete</a>
然后将其放入<head>
:
<script language="JavaScript" type="text/javascript">
function checkDelete(){
return confirm('Are you sure?');
}
</script>
这个有更多工作,但如果列表很长,文件大小会减少。
使用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>
答案 1 :(得分:2)
您有2个选项
1)使用javascript确认删除(使用onsubmit事件处理程序),但是如果客户端已禁用JS,则会遇到麻烦。
2)使用PHP回显确认消息,以及表单内容(如果愿意,隐藏)以及名为“确认”的提交按钮,在PHP中检查是否设置了$_POST["confirmation"]
。
答案 2 :(得分: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();
}
}
答案 3 :(得分:0)
您可以使用Javascript在confirm()
消息中执行此操作。
答案 4 :(得分: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>';
答案 5 :(得分: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>