我可以用PHP同时进行多个会话吗


Can I have multiple sessions at the same in PHP?

我有一个项目,我想知道是否可以同时进行两个会话。

例如

我有一个足球运动员用户(他有登录名),我想让他登录一支球队了解最新情况。

我在想这样的事情:

session_id("player");
session_start();
session_id("team");
session_id("player");

这给了我一个错误,说会话已经启动。

我想知道是否可以同时进行两次会议。

嗯。。。不可以。您不能有多个同时会话。但您可以启动一个,然后用session_write_close关闭它,然后启动另一个会话如果真的需要的话

session_id("player"); // are you sure that you don't want use `session_name` here?
session_start();
// ... work with session id "player"
session_write_close();
session_id("team");
session_start();
// ... work with session id "team"

此外,您可能希望使用session_name而不是session_id。一个设置当前会话名称,另一个设置SID。

答案可能有点晚了,但我遇到了同样的问题,我用二维数组解决了它。在你的情况下,它会是这样的:

登录系统:

$_SESSION['userid'] = 10
$_SESSION['username'] = 'XYZ';

现在,如果用户点击一个id为20的团队,则会话可能会如下所示:

$_SESSION['userid'] = 10
$_SESSION['username'] = 'XYZ';
$_SESSION['team'][20]['teamname'] = 'ABC';
$_SESSION['team'][20]['SOME_TEAM_SPECIFIC_PROPERTY'] = 'SOME_TEAM_SPECIFIC_VALUE';
...

这将使您有可能同时登录到多个团队,例如,如果您打开了多个选项卡等…

干杯