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

时间:2014-09-16 23:09:34

标签: php session

这是我的情景。 我有两个不同的页面与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_random" (由于实施的性质,这需要另一个会话名称

 $some_session = session_name("sesson_random");
 session_set_cookie_params(0, '/', '.domain.net');
 session_start();

现在我面临的问题是我在session.php中存储了一些我希望在order.php上检索的值。我尝试了很多方法,但无法通过它。

请注意,我无法在url的查询字符串中传递这些值。

请帮忙

1 个答案:

答案 0 :(得分:0)

您应该能够通过在打开新会话之前恢复其他会话来读取数据。您所要做的就是使用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);

?>

两个会议结合在一起。如果你不为此烦恼,你应该好好去。从这里得到一些灵感: Can multiple independent $_SESSIONs be used in a single PHP script?