-1

「Gebruikers」というテーブルを作りました。テーブルは次のようになります。

+----------------+------------------+------+-----+---------+----------------+
| Field          | Type             | Null | Key | Default | Extra          |
+----------------+------------------+------+-----+---------+----------------+
| id             | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| gebruikersnaam | varchar(255)     | YES  |     | NULL    |                |
| wachtwoord     | varchar(1024)    | YES  |     | NULL    |                |
| bibliotheekid  | int(10) unsigned | YES  |     | NULL    |                |
| email          | varchar(255)     | YES  |     | NULL    |                |
+----------------+------------------+------+-----+---------+----------------+

このテーブルには、ユーザーと管理者のログインIDとパスワードが格納されます。列'gebruikersnaam'は、ログインIDを定義し、レコードが管理者またはユーザーであるかどうかも定義します。

管理者はすべてのユーザー(自分自身も含む)のリストを持っており、それらを削除することができます(自分自身を含む)。

コードを参照してください:

$sql = "SELECT * FROM Gebruiker";   
$resultaat = mysql_query($sql);
<table>
    <tr>
        <th>id</th>
        <th>gebruikersnaam</th>
        <th>wachtwoord</th>
        <th>bibliotheekid</th>
        <th>email</th>
    </tr>

    <?php
    while(list($id, $gebruikersnaam, $wachtwoord, $bibliotheekid, $email) = mysql_fetch_row($resultaat)){
        ?>
        <tr>
            <td><?php echo $id; ?></td>
            <td><?php echo $gebruikersnaam; ?></td>
            <td><?php echo $wachtwoord; ?></td>
            <td><?php echo $bibliotheekid; ?></td>
            <td><?php echo $email; ?></td>
            <td><?php echo "<a href=\"gebruiker_verwijderen.php?id=$id\">verwijderen</a>"; ?></td>
            <td><?php echo "<a href=\"gebruiker_wijzigen.php?id=$id\">wijzigen</a>"; ?></td>
            <td><?php echo "<a href=\"gebruiker_wijzigen_ww.php?id=$id\">wachtwoord</a>"; ?></td>
        </tr>
        <?php     
    }
    ?>
</table>

<a href=\"gebruiker_verwijderen.php?id=$id\">verwijderen</a>'$gebruikersnaam'の値が'admin'と等しい場合、whileリストにaを指定しないことで、管理者が自分自身を削除できないようにしたいと思います。私はそれを正しく行う方法がわかりません。

4

1 に答える 1

1

あなたは実際にあなた自身の質問に答えたようです:

<td><?php
    if ('admin' != $gebruikersnaam) {
        echo "<a href=\"gebruiker_verwijderen.php?id=$id\">verwijderen</a>";
    }
?></td>

<td>管理者の場合、これは空を出力します。これはすべての管理者に適用されることに注意してください(つまり、管理者は別の管理者を削除できません)。おそらく、ログインしているユーザーのセッションIDもあり、それらを比較して、ユーザーが管理者でもあるかどうかを確認できます。

gebruiker_verwijderen.phpまた、管理者/ログインしているユーザーの削除も防止する制限を追加することもできます。

于 2013-03-26T15:32:50.003 に答える