Zum Inhalt springen

Sessions: setKey in eID_myext.php schreibt Werte nicht in DB

Erstellt am 23. August 2007 · 4 Antworten · letzte Antwort am 23. August 2007

Tags: Frontend-Benutzer, JavaScript & AJAX, Frage

Perelin ·

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