如何使用php处理子域中的会话

时间:2014-11-17 06:21:52

标签: php session

我有像www.example.com这样的域名。在我有每个文件夹3个文件夹employee / account / dashboard我有单独的登录页面。问题是,如果我登录了2个面板,如www.example.com/employee,www.example.com/dashboard,那么如果我从任何一个面板退出,会话也会自动破坏另一个面板。那么如何解决上述问题呢。注意:我在每个子文件夹中使用了不同的会话变量。

session_start();
session_unset($_SESSION['admin_name']); //logout page for dashboard
header("location:index.php");

session_start();
session_unset($_SESSION['employee_id']); //logout page for employee
header("location:index.php");

我想如果我从一个面板(仪表板)注销,另一个面板(员工)不应该注销。

1 个答案:

答案 0 :(得分:2)

我会考虑将每个登录配置文件合并到一个会话中,而不是使用会话销毁。根据所需的复杂性,可以在单个对象或阵列中管理每个登录和关联的配置文件。这样,您可以简单地消除每个部分的单个数组。

在仪表板上成功登录后的示例:

session_start();
$_SESSION['dashboard']=array();
$_SESSION['dashboard']['id']='whateverfromdatabase';
$_SESSION['dashboard']['loginname']='whatever-else';

注销将是:

session_start();
$_SESSION['dashboard']=array();
header("Location: index.php");