繁体   English   中英

如何使用PHP和MySQL识别用户访问权限?

[英]How to identify user access privileges using PHP and MySQL?

我使用PHP开发了一个登录页面,供老师和学生用于登录。 登录后,我可以创建一个会话变量,让他/她登录,直到他退出。

$_SESSION['id']=12;

现在,当他们第一次登录时,我希望他们输入额外的信息,根据他是教师还是学生提供不同的表格。

现在我的问题是如何在会话期间识别用户类型? 我需要在Session变量中进行哪些更改,或者需要存储哪些额外信息? (我已经使用所有教师和学生的默认密码创建了数据库,现在需要按照我的描述从他们输入额外信息)。

如果您可以从数据库中即时检索用户的信息,那么最好的办法(如果只有两个角色而不是广泛的权限)是在users表中添加一个角色字段。

将它设为布尔值,使0 =学生,1 =教师。

然后,您将使用if()语句检查这一点,以确定要显示的表单,例如

if($user_data['role'] == 0){
    // Display student form
} elseif($user_data['role'] == 1) {
    // Display teacher form
}

如果您不希望每次重新加载页面时都必须从数据库中获取此变量,则可以将其存储在$ _SESSION ['role']变量中。

有很多方法可以实现这一目标。 如果您在会话中存储用户ID,则可以根据用户ID查找用户的详细信息和权限。 因此,如果数据库表中有user_type列,您可以在其中存储用户是教师,学生,地精还是其他任何内容,那么您可以在PHP脚本中检查其值。

如果你需要保存信息:用户名,密码,老师或学生作为会话中的标志,你可以做流程,登录后,你保存$ _SESSION ['用户名'],$ _SESSION ['密码'],$ _SESSION [ 'flag'],然后,会话将作为字符串,并保存在会话文件中。

让我们轻松一点,我宁愿更改我的数据库,添加一个名为“access”或“privilege”的列,1为教师,2为学生,您可以过滤状态,定义应显示哪个菜单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM