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

时间:2013-02-05 11:59:13

标签: php session

<?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

?>

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

这两个会议应该共存。

4 个答案:

答案 0 :(得分:1)

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

  

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

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

答案 1 :(得分:1)

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

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

依旧......

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

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

试试这个。可以帮到你。