[英]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.