簡體   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