0

我使用 PHP 开发了一个登录页面,供教师和学生用于登录。登录后,我可以创建一个会话变量以保持他/她的登录状态,直到他注销。

$_SESSION['id']=12;

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

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

4

4 回答 4

2

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

将其设为布尔值,这样 0 = 学生,1 = 老师。

然后,您将使用一个语句来检查这一点,if()以决定显示哪种形式,例如

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

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

于 2013-06-25T14:21:27.783 回答
0

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

于 2013-06-25T13:57:42.493 回答
0

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

于 2013-06-25T14:06:44.790 回答
0

让我们简化一下,我宁愿更改我的数据库,再添加一个名为“访问”或“特权”的列,1 为教师,2 为学生,您可以过滤状态,定义应该显示哪个菜单。

于 2013-06-26T09:02:29.737 回答