0

我需要脚本来从数据库中删除注册用户。它正在工作,但不是它应该如何工作。我的脚本删除最后一个条目而不是我点击的条目?这是我列出条目的脚本。

    <form action="user_delete.php" method="post">
<?php 
error_reporting(0);
$sql="SELECT * FROM users WHERE status='member' ORDER BY id_user";
$result = mysql_query($sql) or die(mysql_error());
while ($record = mysql_fetch_array($result))
{

    $id_c=$record['id_user'];
    $mail=$record['mail'];
    $_SESSION["del_user"]=$id_c;


$user = mysql_result(mysql_query("SELECT username FROM users WHERE id_user='$id_c'"), 0);

echo "Name:&nbsp;&nbsp;<b>$user</b><br />";
echo "E-mail korisnika:&nbsp;&nbsp;<b>$mail</b><br />";
echo "ID:&nbsp;&nbsp;<b>$id_c</b><br /><br />";
echo "<input type=\"submit\" name=\"delete_row\" class=\"btn\" value=\"Delete\" />";
echo "<hr />";
}
?>
</form>

这是我的 user_delete.php

<?php
session_start();
include 'function.php';
include 'db_config.php';
$del=$_SESSION["del_user"];

    $sql = "DELETE FROM users WHERE id_user = $del";
    mysql_query($sql) or die(mysql_error());

    if(mysql_affected_rows()>0)
    {
        header("Location:user_management.php");
    }
    else 
    {
        echo "No";
    }  

mysql_close();
?>
4

2 回答 2

2

在您的 while 循环中,您将覆盖会话变量del_user

while ($record = mysql_fetch_array($result))
{

    $id_c=$record['id_user'];
    $mail=$record['mail'];
    $_SESSION["del_user"]=$id_c;

这意味着这$_SESSION["del_user"]将永远是最后一条记录。

于 2013-10-29T16:18:20.517 回答
-1

将您的 POST 变量传递给该表的电子邮件或主键。现在您正在使用会话 ID 进行 pcheck。它每次只会删除您的记录。

$del = $_POST['email'];
$sql = "DELETE FROM users WHERE id_user = $del";
于 2013-10-29T16:18:13.877 回答