以下代码适用于$ _GET但不适用于$ _POST。
<?php
include_once 'dbconfig.php';
if(isset($_GET['delete_id']))
{
$sql_query="DELETE FROM users WHERE user_id=".$_GET['delete_id'];
mysqli_query($conn,$sql_query);
header("Location: $_SERVER[PHP_SELF]");
}
?>
<script type="text/javascript">
function edt_id(id)
{
if(confirm('Sure to edit ?'))
{
window.location.href='edit_data.php?edit_id='+id;
}
}
function delete_id(id)
{
if(confirm('Sure to Delete ?'))
{
window.location.href='index.php?delete_id='+id;
}
}
</script>
</head>
<body>
<center>
<div id="body">
<div id="content">
<table align="center">
<tr>
<th colspan="5"><a href="add_data.php">add data here.</a></th>
</tr>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>City Name</th>
<th colspan="2">Operations</th>
</tr>
<?php
$sql_query="SELECT * FROM users";
$result_set=mysqli_query($conn,$sql_query);
while($row=mysqli_fetch_row($result_set))
{ ?>
<tr>
<td><?php echo $row[1]; ?></td>
<td><?php echo $row[2]; ?></td>
<td><?php echo $row[3]; ?></td>
<td align="center"><a href="javascript:edt_id('<?php echo $row[0]; ?>')"><img src="b_edit.png" align="EDIT" /></a></td>
<td align="center"><a href="javascript:delete_id('<?php echo $row[0]; ?>')"><img src="b_drop.png" align="DELETE" /></a></td>
</tr>
<?php
} ?>
</table>
</div>
</div>
</center>
</body>
</html>
我已将isset值和查询更改为post而不是get。但是那时数据表的数据删除按钮不起作用。在isset中更改get方法并查询并刷新页面后,该行将被删除。它的原因是什么?
答案 0 :(得分:0)
那是因为这些行
<script type="text/javascript">
$(function () {
$('.delete').on('click', function (e, data) {
if (!data) {
handleDelete(e, 1);
} else {
window.location = $(this).attr("@Url.Action("DiabeticControls")");
}
});
});
function handleDelete(e, stop) {
if (stop) {
e.preventDefault();
swal({
title: "Are you sure?",
text: "You will not be able to recover the delaer again!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, delete!",
closeOnConfirm: false
},
function (isConfirm) {
if (isConfirm) {
swal("Deleted", "", "success");
$('.delete').trigger('click', {});
}
else {
swal("Cancelled", "", "error");
}
});
}
};
</script>
将在URL上生成一个查询字符串,该查询字符串将传递给window.location.href='edit_data.php?edit_id='+id;
数组中的PHP,而不是$_GET
数组中的。
如果您想使用POST,则必须在HTML中使用$_POST
。
答案 1 :(得分:0)
如果你想使用方法POST,
您必须使用ajax post
或使用<form method="post">
。
答案 2 :(得分:0)
window.location.href='index.php?delete_id='+id;
和
entewindow.location.href='edit_data.php?edit_id='+id;
$ _GET,要做$ _POST,使用<form action="#" method="post">
和里面的按钮。那应该可以做到。
答案 3 :(得分:0)
window.location.href='index.php?delete_id='+id;
此行始终通过$ _GET数组传递值。如果你想使用$ _POST方法,你应该使用ajax或表单提交。