[TYPO3-german] fe_session_data.hash - Zufällige neue Session

Mario Batz BatzMario at gmx.net
Fri Sep 14 13:38:53 CEST 2012


Hallo,

ich hab mit jQuery einen kleinen Warenkorb erzeugt. In der Tabelle
fe_session_data werden die Daten sauber gespeichert. Alles funktioniert
perfekt.
Beim Kundenrechner wird allerdings sporadisch in der fe_session_data.hash
ein neuer Wert erzeugt! Somit ist natürlich der Warenkorb plötzlich wieder
leer. Wie kann das sein? Der Browser wurde nicht geschlossen, keine Cookies
geleert keine Inetverbindung getrennt.

Das Phänomen hatte ich auf meinem Rechner nur, als ich per JavaScript
hunderte von Daten per Post einzeln gesendet und in der fe_session_data
speichern wollte.

Folgenden Code habe ich zum Speichern der Daten in der Session:
---------------------------------------------------------------
require_once(PATH_tslib.'class.tslib_pibase.php');

class changeBasket extends tslib_pibase {

	function main(){
		$this->add2Basket();
  	}

	function add2Basket(){
		/* @var $TSFE tslib_fe */
		$get = t3lib_div::_GET("tx_thumbsplus_pi2");

		$GLOBALS['TSFE']->fe_user = tslib_eidtools::initFeUser();
		$TSFE = &$GLOBALS['TSFE']->fe_user;

		$newbasket = array();

		foreach (($TSFE->getKey('ses','idthumb')) as $key =>
$value){
			$newbasket["basket"][$key] = intval($value);
		}

		foreach ($get["basket"] as $key => $value){
			$key = intval($key);
			$value = strval($value);

			switch ($value){
				case "true":
					$value=true;
					break;
				case "false":
				default:
					$value=false;
					break;
			}
			if(!$value){
				unset($newbasket["basket"][$key]);
			}else{
				$newbasket["basket"][$key] = $key;
			}
		}

		$TSFE->setKey('ses','idthumb', $newbasket["basket"]);
		$TSFE->storeSessionData();
	}
}
$output = t3lib_div::makeInstance('changeBasket');
$output->main();


---------------------------------------------------------------

Für jeden Hinweis dankbar.

MfG
Mario



More information about the TYPO3-german mailing list