为会话命名并检查是否存在具有该名称的会话

时间:2014-08-18 07:32:23

标签: php session

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

我看到它的方式,我应该在每个登录页面创建不同的会话名称,当有人试图访问特定页面时,检查它是否是合适的人选。

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

完成
isset($_SESSION)

我还在这里找到了一些关于session_name的信息:http://php.net/manual/en/function.session-name.php

但我似乎并没有把这两件事放在一起。有人可以提出解决方案吗?我已经学习了3个星期的PHP,所以请放轻松我。

1 个答案:

答案 0 :(得分:0)

通过注册,您可以设置为用户权限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