这是我的情景。 我有两个不同的页面与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的查询字符串中传递这些值。
请帮忙
答案 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?