Php 从数据库中删除用户-获取方法更改为POST方法
我的问题是,在页面用户列表上的删除按钮上单击操作后,如何将GET方法更改为POST方法 删除后,使用页面顶部的帖子users.php必须显示消息“User$name deleted!” users.phpPhp 从数据库中删除用户-获取方法更改为POST方法,php,mysql,post,get,Php,Mysql,Post,Get,我的问题是,在页面用户列表上的删除按钮上单击操作后,如何将GET方法更改为POST方法 删除后,使用页面顶部的帖子users.php必须显示消息“User$name deleted!” users.php <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <title>Users</title> </head> <body>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>Users</title>
</head>
<body>
<h1>Users List</h1>
<?php
include('db_connect.php');
$db_conn = @new mysqli($host, $db_user, $db_password, $db_name);
if($result=$db_conn->query("SELECT * FROM user ORDER BY id")){
if($result->num_rows > 0){
echo "<table border='1' cellpadding='10'>";
echo "<tr><th>ID</th><th>Name</th></tr>";
while($row=$result->fetch_object()){
echo "<tr>";
echo "<td>".$row->id."</td>";
echo "<td>".$row->name."</td>";
echo "<td><a href='delete.php?id=" . $row->id . "'>Delete</a></td>";
echo "</tr>";
}
echo "</table>";
}else{
echo "No records";
}
}else{
echo "error: ". $db_conn->error;
}
$db_conn->close();
?>
<br><a href="add.php">Add user</a>
</body>
</html>
使用者
用户列表
那么你可以做下面的事情
在delete.php中
<?php
require_once 'db_connect.php';
$db_conn = @new mysqli($host, $db_user, $db_password, $db_name);
if (isset($_GET['id']) && is_numeric($_GET['id']))
{
$id = $_GET['id'];
if ($stmt = $db_conn->prepare("DELETE FROM user WHERE id = ? LIMIT 1"))
{
$stmt->bind_param("i",$id);
$stmt->execute();
$stmt->close();
}
else
{
echo "ERROR: could not prepare SQL statement.";
}
$db_conn->close();
header("Location: users.php");
}
else
{
header("Location: users.php");
}
在users.php中
echo“删除”;
使用带有隐藏输入和提交按钮的表单,而不是链接:
更改:
echo "<td><a href='delete.php?id=" . $row->id . "'>Delete</a></td>";
if (isset($_GET['id']) && is_numeric($_GET['id']))
{
$id = $_GET['id'];
致:
为什么你需要使用post?我的练习是这样做的,你必须创建一个表单或使用ajax,因为它可以工作:)谢谢:)现在删除后,我必须在网站user.php“user$username deleted!”顶部有信息。我可以这样做,但在刷新消息存在后,可能需要创建分区,或者尝试使用Cathy,很高兴知道它可以工作。您可以这样做:如果POST请求删除了元素,您可以使用GET参数重定向到delete.php。
echo "<td><a href='delete.php?id=" . $row->id . "'>Delete</a></td>";
echo '<td><form action="delete.php" method="POST"><input type="hidden" name="id" value="' . $row->id . '"><input type="submit" name="submit" value="Delete"></form></td>';
if (isset($_GET['id']) && is_numeric($_GET['id']))
{
$id = $_GET['id'];
if (isset($_POST['id']) && is_numeric($_POST['id']))
{
$id = $_POST['id'];