2012-04-12 5 views
2

Ich benutze Modx Evo 1.0.4 und versucht, Werte über eine API abzurufen und sie in einer modx Sitzungsvariable zu speichern. Es ist eine Benutzeranmeldung. Sobald die Anmeldedaten gesendet wurden, ruft die nächste Seite print_r ($ _ SESSION) auf; Ein leeres Array wird jedoch gedruckt. Wenn ich diese Seite aktualisiere, wird das Array mit geladenen Sitzungsvariablen angezeigt.Sitzung nicht sofort in ModX Evo

Ich erstelle die Sitzung hier:

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']; 

und drucken Sie auf die Seite es um die Verwendung geschrieben hat:

print_r($_SESSION); 

Ich habe versucht, auf dem „print_r“ die Cache-Optionen Einstellen Seite in modX, aber jede Option führt zu den gleichen Ergebnissen ... das heißt, es listet nur die Sitzungsvariablen auf, nachdem ich die Seite aktualisiert habe.

Ist das verzögerte Ergebnis des Speicherns externer Sitzungen in modX-Sitzungen?

Antwort

1

Gelöst! Endlich.

Auf meiner externen Seite, rief ich

session_start();

einige andere Daten zu verarbeiten. Ich fügte hinzu,

startCMSSession();

vor den Werten I im Snippet für den Zugriff benötigt. Loswerden von session_start() insgesamt das Problem behoben.

Verwenden Sie session_start() nirgendwo auf der Seite mit startCMSSession().