Hi Alle,
bin grad dabei eine Seite mit ein wenig Ajax aufzupeppen. Dabei werden an einem Punkt Daten per Prototype an eine eID_myext.php. Klappt auch wunderbar, Rückgabe auch.
Problem: wenn ich in der eID_myext.php Daten in die T3 Session schreiben will klappt dass nicht.
Symptome: innerhalb von eID_myext.php kann ich Daten in die Session schreiben und auslesen. Sobald ich von einer anderen Seite (meinem FE Plugin) diese Daten wieder auslesen will, wird nichts angezeigt.
Verdacht: in der eID_myext.php steht $GLOBALS["TSFE"] nicht zur Verfügung. Das FE User Objekt wird per
<?php $feUserObj = tslib_eidtools::initFeUser(); ?>
initialisiert und angesprochen. Nach einigem Testen habe ich gemerkt, dass das bei der Verwendung in der Form wie
<?php $feUserObj->setKey('ses','tx_sessiontest',$session_vars); ?>
kein Eintrag in die Datenbanktabelle fe_session_data gemacht wird (bei der Verwendung von $GLOBALS["TSFE"]->fe_user wird einer gemacht).
Die ganze eID_myext.php
<?php
// Exit, if script is called directly (must be included via eID in index_ts.php)
if (!defined ('PATH_typo3conf')) die ('Could not access this script directly!');
// Initialize FE user object:
$feUserObj = tslib_eidtools::initFeUser();
// Connect to database:
tslib_eidtools::connectDB();
// Session
$feUserObj->getKey('ses','tx_sessiontext');
$session_vars['key1'] = 'TESTVALUE';
$feUserObj->setKey('ses','tx_sessiontext',$session_vars);
// create xml output
$ajax_return_data = t3lib_div::array2xml_cs($session_vars['key1']);
// set document to xml
header('Content-Type: text/xml');
// output xml body
echo $ajax_return_data;
exit;
?>
Hat jemand eine Idee was hier passiert BZW wie ich den Session Eintrag in die DB erzwingen kann BZW was ich falsch gemacht habe?
Hilfe wäre geil 🙂
Sebastian