繁体   English   中英

使用按钮和设置配置文件页面PDO删除用户

[英]Delete user with button and setup profile page PDO

在网站上提出了一些建议后,现在开始学习一些PDO,可以从此处的有用用户那里进行查看。 我还是很新鲜,所以我不想要完整的解决方案,但是朝着正确的方向指出了一点,因为我不清楚要输入什么。

我有两个要解决的问题。 一直在搜索google,观看视频并在此处阅读很多文章,以查看是否可以找到解决方案。 但是,由于有很多方法可以设置所有内容,因此在我的脑海中就会浮现出一些不同的解决方案和不同的看法。

好。 回到正轨。

    <div class="row">
    <div class="col-xs-12 col-md-12 user_group">
    <h2 class="text-center">Aktive brukere:</h2>
        <?php 
                $stmt = $DB_con->query('SELECT * FROM users ');
                $stmt->execute();


                echo "<table id='user' class='table table-bordered table-striped'>
                    <tr>
                    <th>Bruker-ID</th>
                    <th>Brukernavn</th>
                    <th>E-post</th>
                    <th>Fornavn</th>
                    <th>Etternavn</th>
                    <th>Rolle</th>
                    <th>Banna</th>
                    <th>Deaktivert</th>
                    <th>Profil</th>
                    <th>Slett</th>
                    </tr>";


                while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
                {

                    $userID = $row['user_id'];
                    $username = $row['user_name'];
                    $email = $row['user_email'];
                    $firstname = $row['user_fname'];
                    $lastname = $row['user_lname'];
                    $role = $row['user_role'];
                    $banned = $row['user_banned'];
                    $deactivated = $row['user_deactivated'];


                    {
                        echo "<tr>
                                <td>$userID</td>
                                <td>$username</td>
                                <td>$email</td>
                                <td>$firstname</td>
                                <td>$lastname</td>
                                <td>$role</td>
                                <td>$banned</td>
                                <td>$deactivated</td>
                                <td><button class='btn btn-block btn-primary'><a href='../inc/profile.php'></a>Profil</button></td>
                                <td><button class='btn btn-block btn-danger'><a href='process.php?userID=". $userID ."'></a>Slett</button></td>";
                    }

                }
            ?>

    </div>
</div>

这是我在网站上的活动用户的列表。 我只是在这里创建了一些测试用户以测试所有内容。

我有两个按钮。 配置文件和删除。 我想我必须再创建2个名为profile.php和delete.php的文件,但是我在那些文件中应该有的内容对我来说还是很不清楚的。

我需要从按钮所在的用户那里获取ID,但这是我的问题。 我似乎无法获得我想要的用户。

我已经给了我列表上的每个用户几次尝试,或者只是我作为登录用户。 看来我在这些文件中不需要太多代码来获取用户ID并删除合适的用户。

如果我只是想知道如何使用按钮删除用户,我可以弄清楚个人资料部分,因为这是从用户单击中获得ID的问题。

对不起,我的英语时间很长。

PS:如果可以,这是我的user.php类脚本:

    class USER
{
    private $db;

    function __construct($DB_con)
    {
        $this->db = $DB_con;
    }

    public function register($fname, $lname, $uname, $umail, $upass)
    {
        try
        {
            $new_password = password_hash($upass, PASSWORD_DEFAULT);

            $stmt = $this->db->prepare("INSERT INTO users(user_name,user_email,user_pass,user_fname,user_lname) VALUES(:uname, :umail, :upass, :fname, :lname)");

            $stmt->bindparam(":uname", $uname);
            $stmt->bindparam(":umail", $umail);
            $stmt->bindparam(":upass", $new_password);
            $stmt->bindparam(":fname", $fname);
            $stmt->bindparam(":lname", $lname);
            $stmt->execute();

            return $stmt;
        }
        catch(PDOException $e)
        {
            echo $e->getMessage();
        }
    }

我使用以下代码,它始终对我有用。

$sql="SELECT * FROM users";
foreach($conn->query($sql) as $row){
    echo '<a href="delete-user.php?id='.$row['user_id'].'">delete</a>';
}

然后在delete-user.php页面上

$query=$conn->prepare("DELETE FROM users WHERE id=:id");
$query->execute(array(':id'=>$_GET['id']));

由于您不想要完整的解决方案,因此我完全尊重。 这是最好的学习方式。 我要给你一些线索。

如果要删除用户,则需要创建一个链接,就像

<a href='process.php?userID=". $userID ."'></a>

但是将process.php更改为其他文件,该文件将负责删除用户。 在该文件中,您需要以与在user.php中执行INSERT查询相同的方式执行DELETE查询,您只需要一个参数“ id”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM