我搜索了很多关于这个话题的信息,有几件事我应该马上说:
- 是的,我在两个页面的开始使用session_start()
- 是的,这两个页面都在同一个域名来源
- session_id()调用在两个页面之间返回不同的ID
这是什么页面看起来像我张贴从(index.php):
session_start();
$name = $_GET['name'];
$id = $_GET['id'];
$session_name = $name.'-'.$id;
$_SESSION[$session_name]['user'] = 'Bob';
然后我有一个post call:
$.post(webroot+"/next.php", {}, function(data){});
在next。php中我有以下内容:
session_start();
$name = $_GET['name'];
$id = $_GET['id'];
$session_name = $name.'-'.$id;
print_r($_SESSION[$session_name]['user']);
这将导致不打印任何内容,因为$_SESSION变量已经用新会话重置。此外,$session_name的值在我打印和测试的两个页面之间是相同的。任何帮助将非常感激!
它就在你眼前,但可能不那么明显。
$.post(
是$_POST
而不是$_GET
$name = $_POST['name'];
$id = $_POST['id'];
不是$name = $_GET['name'];
$id = $_GET['id'];
在你的next.php