这是我的项目删除页面。我希望能够只允许特定登录用户删除他们的记录/帐户。
所以我有一个用户信息表,以及这个delete.php
页面的链接。以下代码允许他们删除自己的记录,但显示$_session['delete']
消息,即使它不允许他们删除其他记录。
有人可以提供建议吗?
感谢。
<?php
include 'dbconnect.php';
session_start();
// CHECK IF LOGGED IN //
if( ! $_SESSION['username'] ) {
header("Location: project-users-logout.php");
die();
}
// Build SQL Query
$sql = "SELECT * FROM registeredUsers";
// Run the Query
$query = mysqli_query($db,$sql);
$userid = mysqli_real_escape_string($db, $_GET['id']);
$deleteQuery = "DELETE FROM registeredUsers
WHERE UserID = $userid
AND UserName = '$_SESSION[username]'";
$delete = mysqli_query($db, $deleteQuery);
if ($delete) {
/* SUCCESS */
$_SESSION['delete'] = 'Record deleted';
header ("Location: project-users-manage.php ");
exit;
} else {
echo "You do not have access to delete this user";
}
&GT;
答案 0 :(得分:0)
我认为$ delete的计算结果为true,因为语句总是成功执行,即使用户没有被删除,因为删除查询没有找到要删除的内容。
我个人认为:
另外,我不会删除用户的行。使用数据库中的布尔字段将行标记为已删除更安全,并调整应用程序的逻辑以将这些行简单地视为已删除。这样,您可以在发生意外或心情变化时快速取消删除用户帐户。