【问题标题】:How to check if in database column row is set to 1如何检查数据库列中的行是否设置为1
【发布时间】:2018-02-08 09:13:36
【问题描述】:

我正在尝试制作只有管理员才能访问该页面的 admin.php。因此数据库中的所有用户都具有默认设置为 0 的权限。如果用户有 1 这意味着他应该能够看到 admin.php 页面。我如何编写代码来检查一个人是否有 1 在他的 previleges 中?

          if ( $privileges ){
          echo
          '<div class="info">
          You are not administrator!
          </div>';
      }

所以我在第一行代码中询问,如果用户不是管理员,我应该写什么来检查数据库。

【问题讨论】:

  • Select * From Table Where User = 'X' and privileges = 1...?
  • 感谢您的快速回答,但我问了其他问题。 Fx if { this person didn't haveprivilege set by 1 then echo" you cannot access that page" elseif { welcome
  • 请包含您目前尝试过的代码。
  • 好吧,上面建议的查询是难题的第一部分。通过传入当前用户的用户名/ID 从 PHP 运行查询。将查询结果返回给您的 PHP 应用程序。将结果读入变量并使用 if 语句检查变量的值并采取适当的行动。你坚持哪一部分?你可以很容易地用谷歌搜索如何从 PHP 运行查询,其余的都是非常简单的逻辑,例如if($row["privileges"] === 1) { //show the page } else { //redirect somewhere else and kill this script }.
  • 这对我 ADyson 有帮助。谢谢你的回答!

标签: php mysql sql mysqli


【解决方案1】:

使用简单的 Mysqli:

$query = mysqli_query($con,`SELECT `privileges` FROM (your tablename) WHERE user = (the logged in user) AND privileges = "1");

然后显示页面:

while($row= mysqli_fetch_array($query)){
    if(row['privileges'] === "1"){
    //show page
    }else{
    //do not show page
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 2012-07-26
    相关资源
    最近更新 更多