简单用户注册&;PHP和MySQLi中的登录脚本

简单用户注册&;PHP和MySQLi中的登录脚本,php,login,Php,Login,你好,我使用下面的代码为我的登录系统,我想知道是否有人可以帮助我,我正在尝试添加一个管理员功能,这样它会显示一个链接说管理员,如果没有管理员,那么它将禁用链接 登录后,用户名存储在$\u会话['username']中。 所以我认为像这样的事情应该可以做到: if ($_SESSION['username'] === 'admin') { echo '<a href="...">admin</a>'; } else { echo 'admin'; } 稍后在代

你好,我使用下面的代码为我的登录系统,我想知道是否有人可以帮助我,我正在尝试添加一个管理员功能,这样它会显示一个链接说管理员,如果没有管理员,那么它将禁用链接


登录后,用户名存储在
$\u会话['username']
中。 所以我认为像这样的事情应该可以做到:

if ($_SESSION['username'] === 'admin') {
   echo '<a href="...">admin</a>';
} else {
   echo 'admin';
}

稍后在代码中,使用
$\u session['group']
检查会话,而不是像上面那样使用
$\u session['username']

将数据库字段设置为类似于
user\u role
的名称,或者随意命名,但使用它来存储用户角色/权限。 用户登录后,将数据从该字段存储到会话并执行条件检查

if (isset($_SESSION['user_role'] && $_SESSION['user_role'] === 'admin')
{
    // user have admin privilege
}
为了可重用性而创建函数

function isAdmin()
{
    if (isset($_SESSION['user_role'] && $_SESSION['user_role'] === 'admin')
    {
        return true;
    }
    return false;
}
用法:

if (isAdmin()) {
    echo 'You are admin!';
}
这只是一个示例,可以根据需要命名会话和函数


致以最诚挚的问候。

不要创建链接,只需获取用户名,如果该用户名是管理员,然后你会显示普通用户看不到的特定于用户的信息。我已经尝试了一段时间,但仍然无法让它与代码一起工作。我在数据库中有一个名为“状态”的字段,该字段可以工作吗?我想上面的代码应该足够了。它不起作用吗?错误是什么?它确实有效,但它只适用于名为admin的用户。我需要它,这样我就可以使用不同的字段,k可以设置为admin或member pls?@Gesundheitsminister坏例子,你告诉OP将用户名存储到会话,只有用户名是admin。那太糟糕了,我会写我的答案。@AleksaArsić这个例子不是我该怎么做的。它引用OP使用的登录脚本()。完全重写将超出范围。
if (isAdmin()) {
    echo 'You are admin!';
}