[英]Simple User Registration & Login Script in PHP and MySQLi
您好,我在登录系统中使用了以下代码,我想知道是否有人可以帮助我,我正在尝试添加管理员功能,因此它将显示一个链接,显示管理员,如果没有管理员,则它将禁用该链接。
http://www.allphptricks.com/simple-user-registration-login-script-in-php-and-mysqli/
使数据库字段类似user_role
或user_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!';
}
这只是示例,可以根据需要命名会话和功能。
最好的祝福。
登录后,用户名存储在$_SESSION['username']
。 因此,我认为类似这样的方法应该可以解决问题:
if ($_SESSION['username'] === 'admin') {
echo '<a href="...">admin</a>';
} else {
echo 'admin';
}
当用户表中有一个额外的字段时,可以将其称为“ group”,并且该字段填充有组名“ admin”,此时您可以在会话中的登录脚本中填充此组名:
$rows = mysqli_num_rows($result);
if($rows==1){
$row = mysqli_fetch_assoc($result);
$_SESSION['username'] = $username;
$_SESSION['group'] = $row['group'];
// Redirect user to index.php
header("Location: index.php");
}'
然后在代码中使用$_SESSION['group']
而不是$_SESSION['username']
来检查会话,就像上面一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.