php - 使用复选框删除用户

标签 php mysql

我正在创建一个管理面板。...管理员的特权之一是他可以删除注册用户...
这是我的代码,用于显示存储在数据库中的用户:

<h2>Select users to remove</h2>
<form method="post" action="user_deleted.php">

<?php 
$qry_cam=mysql_query("SELECT* FROM login ORDER BY login.id",$con);

    while($row=mysql_fetch_array($qry_cam))
{

    echo"<input name='users' type='checkbox' value='".$row['id']."' /><span style='color:#000fff;'>$row[user]<br /></span>";

}



?>
<input type="submit" value="submit" />


以下是页面user_deleted.php的代码,该代码将删除复选框所选择的用户:

<?php 
$delete_id = $_POST['users'];
     $id = count($delete_id );
     if (count($id) > 0)
      {
         while ($delete_id)
         {
            $sql = "DELETE FROM login WHERE id='$delete_id'";
            $delete = mysql_query($sql);
            $delete_id--;
            mysql_query("alter table login auto_increment = 1;");
        }
    }
    if($delete)
    {
        echo "Records deleted Successfully.";
    }

 ?>


现在我面临的问题是,当我按照从上到下的顺序(如user1 user2 user3等)选择用户时,它可以正常工作...但是当我随机选择时,即user3 user1 user2 user5 user5 user8等,然后单击提交按钮...它删除数据库中的所有用户。帮帮忙..谢谢

最佳答案

您必须在users[]属性中使用name作为复选框输入。

<input name='users[]' type='checkbox' value='<?= $row['id']; ?>' />


然后,在您的PHP中:

$delete_id = implode(", ", $_POST['users'] ); // if the id is numerical.
$sql = "DELETE FROM `tableName` WHERE `id` IN( $delete_id )";

关于php - 使用复选框删除用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15716821/

相关文章:

php - 对特定页面使用包含和样式表?

mysql - 从列范围内的表中获取结果集?

mysql - JOIN 中的多个 COUNT()

php - 过去 21 天内浏览次数最多的帖子

PHP:Stomp - 是否可以捕获 "send()"上的错误?

php - 如何将数据库查询结果集作为对象组进行管理?

php - 从现在起 x 天后从数据库中选择过去的日期

mysql - 在这种情况下是否有必要转义插入值?

mysql - mysql 中的触发器需要更正

php - 带有 SVN-VC 的多开发人员设置和每个开发人员的远程测试服务器。最佳实践?