Hallo,
um einen Wert in der fe-DB zu speichern benutze ich:
$my_vars = $GLOBALS["TSFE"]->fe_user->getKey('ses','tx_myextension');
if ($my_vars['mute']=="off" || $my_vars['mute']=="on") {}
else {
$my_vars['mute']="off";
$GLOBALS["TSFE"]->fe_user->setKey('ses','tx_myextension',$my_vars);
$GLOBALS["TSFE"]->storeSessionData();
}
if(t3lib_div::_GP('mute')=="pressed") {
switch($my_vars['mute']){
case "off": $my_vars['mute']="on"; break;
case "on": $my_vars['mute']="off"; break;
}
$site=$GLOBALS["TSFE"]->siteScript;
if($site=="")
$site="home.html";
if(strpos($site,"html?"))
$site=substr($site,0,strpos($site,"?"));
$GLOBALS["TSFE"]->fe_user->setKey('ses','tx_myextension',$my_vars);
$GLOBALS["TSFE"]->storeSessionData();
header("Location:$site");
}
$my_vars_2 = $GLOBALS["TSFE"]->fe_user->getKey('ses','tx_myextension');
$submitbild="mute_".$my_vars_2['mute'].".gif";
if($my_vars_2['mute']=="off")
$bild_tag="aus";
else
$bild_tag="an";
$content.="<form action='' method='post' target='_self' style='display:inline; '><input type='hidden' name='mute' value='pressed'/><input type='image' src='fileadmin/project/$submitbild' alt='Ton ".$bild_tag."' title='Ton ".$bild_tag."' border='0' ></form>";
Das Problem ist, dass die Session nicht gespeichert wird. In der Tabelle fe_session_data wird nach jedem Seitenaufruf ein neuer Eintrag geschrieben.
Im übrigen sind tslib_feUserAuth->id und tslib_feUserAuth->cookieId immer verschieden. Müssten die nicht gleich bleiben?
Das Problem ist nach einer Migration von einem Typo3 V3 auf V4 aufgetreten.
Linux
TYPO3 4.2.4
DANKE!!!