使用php使用另一个会话名称获取存储在上一页会话中的值
这是我的设想。 我有两个不同的php页面 一,。php页面将会话名称声明为session_one使用php使用另一个会话名称获取存储在上一页会话中的值,php,session,Php,Session,这是我的设想。 我有两个不同的php页面 一,。php页面将会话名称声明为session_one $some_session = session_name("session_one"); session_set_cookie_params(0, '/', '.domain.net'); session_start(); 二,。order.php页面将会话名称声明为sesson_random由于实现的性质,需要使用另一个会话名称 $some_session = session_name(
$some_session = session_name("session_one");
session_set_cookie_params(0, '/', '.domain.net');
session_start();
二,。order.php页面将会话名称声明为sesson_random由于实现的性质,需要使用另一个会话名称
$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);
?>
这两次会议合并在一起。如果你不为此烦恼,你应该很乐意去。从这里得到了一些启示:
您希望有单独的会话,但也希望它们进行交互???@Alex不幸的是,由于订单页上的某些原因,我有一些api需要单独的会话,否则将不会出现此问题:如果您的会话无法交互,则需要另一种共享数据的方法。你能有一个既能访问数据又能传输数据的页面吗?这是一个愚蠢的解决办法@Dave那么如果我们在两个页面之间放置另一个页面,我们如何获得会话值呢?你不认为当它到达订单页面时情况会是一样的吗?我不知道。。我真的不明白这个问题,我也不知道你为什么要在同一个应用程序的两个页面之间限制会话。。。我猜是从臀部射击。。。很抱歉