【发布时间】:2017-01-22 00:29:14
【问题描述】:
最近,我一直在研究我的登录系统。在我尝试给予我的帐户工作人员特权之前,它一直进展顺利。因此,我在成员表中创建了一个名为“Rank”的新列,并将其设置为 int(11)。我将我的用户排名设置为 7。现在,当我登录到会员页面时,我希望我的帐户和排名为 7 的所有其他人都拥有特殊的特权。 7岁以下的用户,没有任何特殊的特权。所以,这里有一些我尝试过的代码。
<?php require('includes/config.php');
$stmt = $db->prepare('SELECT Rank from members where memberID=?');
$stmt->bindParam(1, $memberID, PDO::PARAM_INT);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
if($result['Rank'] == 7)
{
echo "You are a staff member.";
}
if($result['Rank'] < 7)
{
echo "You are not a staff member.";
}
//if not logged in redirect to login page
if(!$user->is_logged_in()){ header('Location: login.php'); }
//define page title
$title = 'Members Page';
//include header template
require('layout/header.php');
?>
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-8 col-md-6 col-sm-offset-2 col-md-offset-3">
<h2>Member only page - Welcome <?php echo $_SESSION['username']; ?></h2>
<p><a href='logout.php'>Logout</a></p>
<hr>
</div>
</div>
</div>
<?php
//include header template
require('layout/footer.php');
?>
我没有收到任何错误,但我收到的消息是“您不是工作人员”而不是您是工作人员。即使我以具有排名 7 的用户登录.. 我在这里错过了什么?我还需要包含和更改什么?
【问题讨论】:
-
首先,转储
$result包含的内容。 -
什么意思?我应该删除 $result 还是 if 语句中的内容?
-
刚刚从 if 语句中删除了 $result ,仍然不起作用 man :(
-
将
$result['Rank']更改为$result[0]['Rank'] -
当人们说'dump $result'或类似的东西时,他们的意思是使用
$print_r($result)或var_dump($result)来检查变量的值
标签: php mysql database localhost local