设置不同的会话数据-两个不同的会话


Set different session data - two different sessions

<?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设置为会话用户2?

两会应该共存。

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

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

等等…

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

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

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

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

试试这个。可能对你有帮助。

使会话成为一个数组,在您的示例中:

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

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