为了账号安全,请及时绑定邮箱和手机立即绑定

使用 PHP 引用修改 SQL 条目

使用 PHP 引用修改 SQL 条目

白衣染霜花 2022-07-01 16:53:24
因此,我无法理解如何单独修改 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 注入以及如何防止它,这是一个很好的起点


查看完整回答
反对 回复 2022-07-01
  • 1 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信