我制作了一张名为'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 | |
+----------------+------------------+------+-----+---------+----------------+
此表存储用户和admin的登录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>
如果“$ gebruikersnaam”的值等于“admin”,我想阻止管理员通过在while列表中不提供<a href=\"gebruiker_verwijderen.php?id=$id\">verwijderen</a>
来删除自己。我不知道如何正确地做到这一点。
答案 0 :(得分:1)
您似乎确实回答了自己的问题:
<td><?php
if ('admin' != $gebruikersnaam) {
echo "<a href=\"gebruiker_verwijderen.php?id=$id\">verwijderen</a>";
}
?></td>
如果是管理员,则会打印出空<td>
。请注意,这适用于任何管理员(即管理员无法删除其他管理员)。大概你也有一个登录用户的会话标识符,你可以比较它以检查他们是否也是管理员。
您可能还希望在gebruiker_verwijderen.php
上添加一个限制,以防止删除管理员/登录用户。