为会话指定一个名称,并检查该名称的会话是否存在


Give a name to a session and check if a session with that name exists

我正在建立一个网站,其中有3种不同类型的用户(如客户和销售人员)的登录页面。有些页面应该只有指定的用户才能访问。如果有人试图进入一个特定的页面,我希望脚本检查该人是否被允许这样做。

在我看来,我应该在每个登录页面创建不同的会话名,当有人试图访问特定页面时,检查是否正确的人在正确的地方。

我知道检查是否存在任何会话可以通过

完成
isset($_SESSION)

和我也发现了一些关于session_name在这里的信息:http://php.net/manual/en/function.session-name.php

但是我似乎不能把这两件事联系在一起。有人能提出解决方案吗?

我已经学了3周PHP了,所以请对我宽容一点。

通过注册设置为用户权限1和2,并与用户名和哈希密码一起保存到数据库

| ID | Username |            Password Hash         | User Level |
| 1  |  User01  | t5ns4fdgn6sdn45d4t5zuk65fz6s4dt1 |      1     |
| 2  |  User02  | e8tdzjui56jn4fgvh635csd6trz6ghr8 |      2     |

每次登录时设置用户级别为$_SESSION["userLevel"]

在您想要保护的页面上,您可以执行以下操作(在文档的最开头):

function UserLevel($level){
  if($_SESSION["userLevel"] == $level){
    header("Location: index.php");
    exit;
  }
}

然后你可以对用户进行排序:

UserLevel(1); // Only user 1 can access this page
UserLevel(2); // Only user 2 can access this page