我正在使用Modx Evo 1.0.4并尝试通过API检索值并将它们存储到modx会话变量中。这是用户登录。一旦发送登录凭据,下一页就会调用print_r($ _ SESSION);但是,会打印一个空数组。如果我刷新此页面,则会显示带有已加载会话变量的数组。
我在这里创建会话:
require_once '../manager/includes/config.inc.php';
startCMSSession();
$_SESSION['mx_iCode'] = "test";//$_SESSION['iCode'];
$_SESSION['mx_firstName']= $_SESSION['firstName'];
$_SESSION['mx_lastName']= $_SESSION['lastName'];
$_SESSION['mx_address'] = $_SESSION['address1'].' '.$_SESSION['address2'].' .$_SESSION['address3'];
$_SESSION['mx_city'] = $_SESSION['city'];
$_SESSION['mx_state'] = $_SESSION['stProvince'];
$_SESSION['mx_zip'] = $_SESSION['postalCode'];
并使用以下内容将其打印到发布到的页面:
print_r($_SESSION);
我已尝试在modX中调整“print_r”页面上的缓存选项,但每个选项都会产生相同的结果......这只是在我刷新页面后列出了Session变量。
延迟是将外部会话存储到modX会话的结果吗?
答案 0 :(得分:1)
解决了!最后。
在我的外部网页上,我致电
session_start();
处理其他一些数据。我添加了
startCMSSession();
在我需要在代码段中访问的值之前。摆脱session_start()完全解决了这个问题。
请勿使用startCMSSession()在页面的任何位置使用session_start()。