这是我的场景。我有两个不同的页面与php
1) 。index.php页面的会话名称声明为"session_one"
$some_session = session_name("session_one");
session_set_cookie_params(0, '/', '.domain.net');
session_start();
2) 。order.php页面的会话名称被声明为"sesson_rrandom"(由于实现的性质,这需要另一个会话名称
$some_session = session_name("sesson_random");
session_set_cookie_params(0, '/', '.domain.net');
session_start();
现在我面临的问题是,我在会话中在index.php上存储了一些值,我想在order.php上检索这些值。我尝试了很多方法,但都无法通过。
请注意,我不能在url的查询字符串中传递这些值。
请帮助
您应该能够从另一个会话中读取数据,方法是在打开新会话之前恢复数据。您所要做的就是使用session_id
函数。我在这里用以下代码测试了它:(index.php)
<?php
session_name("session_one");
session_start();
$_SESSION["test"] = array("this is just a test");
print_r($_SESSION);
?>
现在,您所要做的就是首先加载另一个会话,并将值保存到一个数组中:(order.php)
<?php
if(isset($_COOKIE["session_one"])){
session_id($_COOKIE["session_one"]);
session_name("session_one");
}else{
session_name("session_one");
}
session_start();
$session = $_SESSION;
session_write_close();
print_r($session);
if(isset($_COOKIE["session_random"])){
session_id($_COOKIE["session_random"]);
session_name("session_random");
}else{
session_name("session_random");
}
session_start();
$_SESSION["other"] = array("this is another test");
print_r($_SESSION);
?>
两次会议合并在一起。如果你不为此烦恼,你应该很乐意去。从这里得到了一些灵感:在一个PHP脚本中可以使用多个独立的$_SESSION吗?