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