我的会话变量有问题。
在我需要一次之后我无法设置任何变量。
但我需要在登录后存储我的数据。
这是代码:
<?php include "include/header.php";
require_once('simplesamlphp/lib/_autoload.php');
$as = new \SimpleSAML\Auth\Simple('default-sp');
$as->requireAuth();
$attributes = $as->getAttributes();
$_SESSION["nivauth"] = "test";
?>
EDIT :
- session_start() 位于 header.php 中
- 我尝试在另一个页面上获取会话变量
echo $_SESSION["nivauth"];
我在另一页上遇到此错误:
Notice: Undefined index: nivauth in /var/www/html/cableEdit.php on line 10
我的会话 var nivauth 仅在我的第一页上可用。
我的 session_start() 正在工作,并且我的所有其他会话变量都是在其他页面上创建的,可以查看。
如果我放置$_SESSION["nivauth"] = "test";
就在 include 下一切正常,但我无法从身份验证中获得 nivauth。
var 已创建,但无法在其他页面上访问...
参考这部分文档
如果我们在 SimpleSAMLphp 和我们正在保护的应用程序中使用 PHP 会话,SimpleSAMLphp 将在第一次调用时关闭任何现有会话,之后以它自己的会话为准。如果您想在调用 SimpleSAMLphp 后恢复自己的会话,可以通过清理会话来实现,如下所示:
$session = SimpleSAML_Session::getSessionFromRequest();
$session->cleanup();
如果您不清理 SimpleSAMLphp 的会话并随后尝试使用 $_SESSION,您将不会使用自己的会话,并且您的所有数据可能会丢失或无法访问。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)