从同一个文件写入两个会话(PHP)

时间:2010-06-02 22:49:59

标签: php session

我希望管理员可以从后端以fontend用户身份登录。现在我正在使用两个会话(具有不同名称的会话),一个用于管理员,一个用于前端。

是否可以在第一个会话中写入,关闭它然后打开一个新会话?

这是我尝试但失败的简化版本:

session_name('admin_session');
session_start();
// use first session without generatring any output
session_close();

session_name('frontend_session');
session_start();
// use the second session

感谢。

1 个答案:

答案 0 :(得分:2)

我已经为管理员提供了过去切换到“用户”的工具。

我这样做是通过序列化管理员用户的$ _SESSION,然后将该字符串存储为$ _SESSION ['adminData'],然后用他登录的用户覆盖所有其他会话变量,并重定向到主页面。主页上唯一不同的功能是针对$ _SESSION ['adminData']的if测试提供了“revert to admin”链接......但是对于所有意图和目的,管理员现在以该用户身份登录。 单击“恢复为管理员”链接时,代码逻辑只是反序列化$ _SESSION ['adminData']。