因此,我无法理解如何单独修改 SQL 条目,同时将所有结果打印到屏幕上。我让 root_user.php 将除 root_user 之外的所有用户打印到屏幕上,并且在每个要求批准或拒绝的用户旁边都有 href。在我看来,我需要approve.php 和deny.php 才能编写SQL 查询,但我不知道如何从列表中获取单个条目,然后在approve 或deny.php 中修改它文件。现在我只有 Approve 和 Deny 链接,它们会将您发送到一个空的approve 或deny.php。有人知道我可以去哪里吗?到目前为止我的代码:<?phprequire('database.php');$query = 'SELECT * FROM credentials WHERE access_level != 0 ORDER BY email';$statement = $db->prepare($query);$statement->execute();$credentials = $statement->fetchAll();$statement->closeCursor();?><!DOCTYPE html><html><!-- the head section --><head> <title>root</title> <link rel="stylesheet" type="text/css" href="main.css" /></head><!-- the body section --><body><main> <section> <table> <tr> <th>Email</th> <th>Access Level</th> <th class="right">Actions</th> </tr> <?php foreach ($credentials as $credential) : ?> <tr> <td><?php echo $credential['email']; ?></td> <td><?php if($credential['access_level'] == 1) { echo "Admin"; } else { echo "Scheduler"; } ?></td> <td class="right"><a href="approve.php" class="button-class">Approve</a> <td class="right"><a href="deny.php" class="button-class">Deny</a></td> </tr> <?php endforeach; ?> </table> </section></main><footer></footer></body></html>
1 回答
守着一只汪
TA贡献1872条经验 获得超3个赞
通常,该方法是在链接上包含一个标识符。例如:
<a href="approve.php?id=<?php echo $credential['id']; ?>" class="button-class">Approve</a>
我假设id
这些记录中存在,但任何标识符都可以。如果$credential['email']
是您唯一标识记录的方式,那也同样有效。(尽管您可能希望对值进行URL 编码。)
然后approve.php
你会从$_GET["id"]
. 然后的步骤是:
验证当前登录的用户是否可以对该记录执行此操作。 永远不要假设因为他们请求了这个页面,他们就一定点击了你展示给他们的链接,因此他们必须有权访问。这些东西很容易被欺骗。始终验证。
在准备好的语句中使用 in
$_GET["id"]
作为查询参数来对数据执行操作。如果您不熟悉 SQL 注入以及如何防止它,这是一个很好的起点。
添加回答
举报
0/150
提交
取消