Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php使用另一个会话名称获取存储在上一页会话中的值_Php_Session - Fatal编程技术网

使用php使用另一个会话名称获取存储在上一页会话中的值

使用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(

这是我的设想。 我有两个不同的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("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那么如果我们在两个页面之间放置另一个页面,我们如何获得会话值呢?你不认为当它到达订单页面时情况会是一样的吗?我不知道。。我真的不明白这个问题,我也不知道你为什么要在同一个应用程序的两个页面之间限制会话。。。我猜是从臀部射击。。。很抱歉