Php 用户角色权限
我正在尝试为3种不同类型的用户创建权限Php 用户角色权限,php,variables,session,admin,user-roles,Php,Variables,Session,Admin,User Roles,我正在尝试为3种不同类型的用户创建权限 正常的 管理员 超级管理员 我不知道该怎么做,也不知道从哪里开始做,因为我对php还很不了解,有人能给我举个例子说明怎么做吗? 如何使用会话变量例如,我在这里找到了一段代码: <?php $result = "SELECT * FROM customers" or die("Error: " . mysqli_error($db)); $res = $db->query($result);
- 正常的
- 管理员
- 超级管理员
<?php
$result = "SELECT * FROM customers" or die("Error: " . mysqli_error($db));
$res = $db->query($result);
while($row = mysqli_fetch_array($res)) {
$UserRoleID = $row['userRoleID'];
$_SESSION['user_role'] = $UserRoleID;
}
?>
另一页:
<?php
if( (isset($_SESSION['user_role']) ) && (false != $_SESSION['user_role']) )
{
if( '2' == $_SESSION['user_role'] )
{
echo "<li><a href='index.php'>User</a></li>";
}
elseif ('3' == $_SESSION['user_role'] )
{
echo "<li><a href='index.php'>Admin</a></li>";
}
else
{ // error condition
// display details of invalid $_SESSION['user_role']
}
}
else
{ // error condition
// display details of missing or empty $_SESSION['user_role']
}
它不会向我显示任何错误,但也不会向我显示输出,因此我无法执行任何操作您的代码没有使用,因此,无论用户看到任何会话ID,会话信息都不会在请求之间持久存在
使用以下命令启动两个脚本:
<?php
session_start();
页面还有更多内容吗?我没有看到会话_start()代码>任何地方。您需要在每个单独的页面的页面顶部调用此函数,以便能够在会话中存储数据,“我不知道如何或从何处开始,因为我对php仍然很弱”-那么,我的建议是,您从修复最后一部分开始。不管怎么说,进入“你的头上的方式”很可能不会带来高质量的结果;由于这是一个安全敏感的问题,在您目前的经验水平上尝试这样做甚至可能是危险的。我在页面加载时启动会话,以登录系统。第一个代码示例是可疑的。您确定包含用户的表名为customer
?然后,如果您登录一个用户,您应该读取该用户的权限并将其存储。但是您读取了表的所有行,查询中没有WHERE子句。此外,在读取角色的循环中,您重置了会话变量的值,因此最终,会话变量中的值将是表最后一行中的值。也许你可以发布你登录用户的部分,然后我们可以更好地知道权限部分应该是什么样子