PHP:重定向后的会话值为null
我通过AJAX调用登录我的TYPO3用户。一切都很好。 我还编写了一些会话值。成功登录后,我有此会话:PHP:重定向后的会话值为null,php,session,typo3,Php,Session,Typo3,我通过AJAX调用登录我的TYPO3用户。一切都很好。 我还编写了一些会话值。成功登录后,我有此会话: array(10) { ["loggedin"]=> int(1) ["user"]=> string(15) "Thomas Helmrich" ["kdnr"]=> string(3) "N/A" ["email"]=> string(15) "Thoma
array(10) {
["loggedin"]=>
int(1)
["user"]=>
string(15) "Thomas Helmrich"
["kdnr"]=>
string(3) "N/A"
["email"]=>
string(15) "Thomas Helmrich"
["bereich"]=>
string(3) "all"
["name"]=>
string(0) ""
["intern"]=>
int(1)
["nickid"]=>
string(4) "4734"
["chatadmin"]=>
int(1)
["spezialforum"]=>
int(0)
}
但是在重定向之后,例如
header("Status: 301 Moved Permanently");
header("Location:".$redirect_url);
exit();
值为空
array(14) {
["loggedin"]=>
NULL
["user"]=>
NULL
["password"]=>
NULL
["kdnr"]=>
NULL
["email"]=>
NULL
["bereich"]=>
NULL
["name"]=>
NULL
["chatadmin"]=>
NULL
}
我目前不知道为什么这些值会为null
谢谢即使启用了Session.use\u trans\u sid,会话ID也不会随位置标头一起传递。它必须使用SID常量手动传递 发件人:最后一条注释。尝试以下操作(将会话ID添加到URL): 只有当您的客户不允许cookies时,才需要这样做
但是:真的要让你的重定向“永久”吗?也许,302做得更好…?可能重复您是否在每个页面顶部使用了
session\u start()
,以获取会话值。为什么要设置标题(“状态:301永久移动”)?是的,我正在使用session\u start();我的问题不是会话为空,而是会话值为空。如果我输出会话,它仍然输出键等,但值为空。我这样做只是为了调试。我在控制台中输出它。添加会话名称和会话id没有帮助-所有值仍然为空。似乎它在查找会话时没有问题,会话本身就存在着键,但是值为null.OK。服务器使用请求的会话id在服务器文件系统中定位本地会话文件。此sessionfile包含sessiondata。因此,请检查您的服务器是否为targeturl使用了另一个sessionfile。重定向的URL是否是另一个(子)域,然后是源URL?
header("Status: 302 Found");
header("Location:".$redirect_url.'?'.session_name().'='.session_id());
exit();