AJAX帖子之间的PHP会话持久性(主要是移动浏览器)

时间:2014-05-13 19:41:16

标签: php jquery ajax session post

所以我在这个主题上搜索过很多东西,我应该说一些事情:

  • 是的,我在BOTH页面的开头使用了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(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的值在我打印和测试的两个页面之间是相同的。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

它正盯着你,但可能不那么明显。

$.post(

那是$_POST而不是$_GET

$name = $_POST['name'];
$id = $_POST['id'];

而不是

$name = $_GET['name'];
$id = $_GET['id'];

next.php