<?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设置?
这两个会议应该共存。
答案 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";
试试这个。可以帮到你。