2012-04-12 42 views
2

我正在使用Modx Evo 1.0.4並嘗試通過API檢索值並將它們存儲到modx會話變量中。這是一個用戶登錄。一旦發送登錄憑證,下一頁將調用print_r($ _ SESSION);但是,會打印一個空數組。如果我刷新此頁面,將顯示帶有加載的會話變量的數組。會話不立即在ModX Evo中發佈

我在這裏創建會話:

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); 

我試着調整了「的print_r」緩存選項頁面在modX中,但每個選項都會得到相同的結果......這是它在刷新頁面後僅列出會話變量。

將外部會話存儲到modX會話的結果是否延遲?

回答

1

已解決!最後。

在我的外部頁面,我叫

session_start();

處理一些其他數據。我我需要的片段來訪問值之前添加

startCMSSession();

。擺脫session_start()完全解決了問題。

不要在startCMSSession()的頁面上的任何地方使用session_start()。