删除所需的PHP登录系统帮助

删除所需的PHP登录系统帮助,php,login,Php,Login,用户删除帮助: 您好,我正在为我的一个项目创建一个用户创建系统,我对PHP还是很陌生,我的问题是从MySQL数据库中获取用户,然后将其删除,我将在下面向您展示我的代码: <?php require_once("config/db.php"); if ($login->isUserLoggedIn() == true) { if ($_SESSION['user_perm'] =

用户删除帮助:

您好,我正在为我的一个项目创建一个用户创建系统,我对PHP还是很陌生,我的问题是从MySQL数据库中获取用户,然后将其删除,我将在下面向您展示我的代码:

            <?php
            require_once("config/db.php");

            if ($login->isUserLoggedIn() == true) {
                if  ($_SESSION['user_perm'] == 1) {

                    //Create Connection
                    $db_connection = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
                    // Check connection
                    if ($db_connection->connect_error) {
                        die("Connection failed: " . $db_connection->connect_error);
                    } 

                    $sql = "SELECT user_name FROM users";
                    $result = $db_connection->query($sql);

                    if ($result->num_rows > 0) {
                        // output data of each row
                        while($row = $result->fetch_assoc()) {
                            echo $row["user_name"];
                            $user_name_delete = $row["user_name"];
                            $_SESSION['user_name_delete'] = $user_name_delete;
                                echo '<a href="deleteuser.php">Delete User</a><br>';
                            }

                        }
                    }
                    $db_connection->close(); ?>

在deleteuser.php页面上,我的代码是,请注意,这只是一个测试:

<?php
    echo $_SESSION['user_name_delete'];
?>

我的问题是抓取您选择删除的用户,因为此时它只输出从数据库抓取的最后一个用户


非常感谢您的帮助。

获取用户id并将其插入删除查询。
$id=$db->real\u escape\u字符串($\u GET['id'])

$sql=“从id=”的用户中删除$身份证,然后运行查询从数据库中删除用户。

获取用户id并将其插入删除查询。
$id=$db->real\u escape\u字符串($\u GET['id'])
$sql=“从id=”的用户中删除$身份证,然后运行查询将用户从数据库中删除。

此值:

$_SESSION['user_name_delete']
将只包含数据中的最后一个用户。因为您一直在循环中覆盖它:

$_SESSION['user_name_delete'] = $user_name_delete;
简单的回答是。。。不要为此使用会话状态。(实际上,除非必须使用会话状态,否则不应该对任何内容使用会话状态。)要删除的用户的身份应该包含在删除用户的请求中。在这种情况下,可以将其添加到链接中。大概是这样的:

echo '<a href="deleteuser.php?id=' . $row['user_id'] . '">Delete User</a><br>';
验证输入,验证用户是否有权执行删除,然后在
delete
查询的
WHERE
子句中使用该值。

此值:

$_SESSION['user_name_delete']
将只包含数据中的最后一个用户。因为您一直在循环中覆盖它:

$_SESSION['user_name_delete'] = $user_name_delete;
简单的回答是。。。不要为此使用会话状态。(实际上,除非必须使用会话状态,否则不应该对任何内容使用会话状态。)要删除的用户的身份应该包含在删除用户的请求中。在这种情况下,可以将其添加到链接中。大概是这样的:

echo '<a href="deleteuser.php?id=' . $row['user_id'] . '">Delete User</a><br>';

验证输入,验证用户是否有权执行删除,然后在您的
delete
查询的
WHERE
子句中使用该值。

@David你好,David,我知道如何从数据库中删除数据,我遇到的问题是检测到要删除的用户,因为无论您选择删除哪个用户,目前只有最后一个用户将被删除。@David Hi David,我确实知道如何从数据库中删除数据,我遇到的问题是检测我要删除的用户,因为无论您选择删除哪个用户,目前只有最后一个用户将被删除。@David Hi David,我确实知道如何从数据库中删除数据,我遇到的问题是检测我想要删除的用户,因为目前无论您选择删除哪个用户,都只会删除最后一个用户。请不要推荐SQL注入漏洞。世界上已经有足够的漏洞了。请不要推荐SQL注入漏洞。世界上已经有足够的漏洞了。请不要推荐SQL注入漏洞。世界上已经有足够多的人了。@bobbyjane:看来有人不同意,因为这个答案投了反对票:)但我很高兴我能帮上忙@鲍比简:看来有人不同意,因为这个答案投了反对票:)但我很高兴我能帮上忙@鲍比简:看来有人不同意,因为这个答案投了反对票:)但我很高兴我能帮上忙!