0
<?php
session_start();

$session_new_name_1 = session_name("user1");
$session_new_name_2 = session_name("user2");

$_SESSION['user_name'] = "John";  //set to $session_new_name_1
$_SESSION['user_name'] = "Frank"; //set to $session_new_name_2

?>

问题基本上是,如何将名称 John 设置为会话 user1 并将名称 Frank 设置为会话 user2?

这两个会话应该并存。

4

4 回答 4

1

我不认为这是可能的。PHPSESSID 只能包含一个 ID。此外,需要在 session_start() 之前调用 session_name()。从手册

会话名称在请求启动时重置为存储在 session.name 中的默认值。因此,您需要为每个请求调用 session_name()(并且在 session_start() 或 session_register() 被调用之前)。

但是,如果您不是真的在寻找真正的双会话系统,@ripa 和@phpalix 提供的答案可能会对您有所帮助。

于 2013-02-05T12:08:55.500 回答
1

如果你想要更多数据,你可以这样做:

$_SESSION['username'] = array('name' => 'John', 'last_name' => 'Doe', 'email' => 'some@mail.com');

等等...

于 2013-02-05T12:13:13.770 回答
0

在您的示例中,将会话设为数组:

$_SESSION['user_name']['user1'] = "John";
$_SESSION['user_name']['user1'] = "Frank";

数组功能强大,如果使用得当,可以帮助您克服许多问题。

于 2013-02-05T12:04:16.953 回答
0
$_SESSION['user1'] = "John"; 
$_SESSION['user2'] = "Frank";

试试这个。可以帮助你。

于 2013-02-05T12:05:44.100 回答