-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>如果它是管理员,这将打印出一个空的。请注意,这适用于任何管理员(即管理员不能删除另一个管理员)。大概您还有一个登录用户的会话标识符,您可以比较它以检查他们是否也是管理员。

您可能还想添加一个限制,gebruiker_verwijderen.php以防止删除管理员/登录用户。

于 2013-03-26T15:32:50.003 回答