Moin zusammen...
ich versuche seit Tagen eine eigene Session class zusammen zu bekommen,
aber es will einfach nicht funktionieren!
Die SessionControl() funktioniert und die SessionStart() erzeugt auch die Session
mit allen Inhalten. Das Problem liegt in der Abfrage nach dem Status sessionState.
Obwohl nach den setzen der Session im object(DTSession) der Wert
vorhanden ist,
wird er nicht erkannt und verarbeitet?!
Ergo mache ich irgendetwas falsch...
Ich habe den wichtigen Teil der class DTSession, den Aufruf auf der Index und die Ausgabe der Funktion mal kopiert...
Soweit zum Code um den es geht.....
Der Aufruf auf der Index...
Durch den Aufruf von var_dump($data); bekomme ich ...
Das wars... bin für Hilfe echt dankbar....
ich versuche seit Tagen eine eigene Session class zusammen zu bekommen,
aber es will einfach nicht funktionieren!
Die SessionControl() funktioniert und die SessionStart() erzeugt auch die Session
mit allen Inhalten. Das Problem liegt in der Abfrage nach dem Status sessionState.
Obwohl nach den setzen der Session im object(DTSession) der Wert
Code:
["sessionState":"DTSession":private]=> bool(true)
wird er nicht erkannt und verarbeitet?!
Ergo mache ich irgendetwas falsch...
Ich habe den wichtigen Teil der class DTSession, den Aufruf auf der Index und die Ausgabe der Funktion mal kopiert...
PHP-Code:
<?php
session_start();
class DTSession {
const SESSION_STARTED = TRUE;
const SESSION_NOT_STARTED = FALSE;
private $firstTrace;
private $lastTrace;
private $ttl = 1440;
private $session_name;
private $handler;
private $sessionState = self::SESSION_NOT_STARTED;
private static $instance;
public function __construct() {
$this->session_name = 'DTSID';
$this->newid = 'sessdt';
$this->handler = 'DTSession';
}
public function SessionStart() {
if ( $this->sessionState == self::SESSION_NOT_STARTED ) {
DTSession::SessionDestory();
session_name($this->session_name);
$secure = 'SECURE';
$httponly = true;
ini_set('session.use_strict_mode', 1);
$SID = md5('irgendetwas.com');
$cookieParams = session_get_cookie_params();
session_set_cookie_params(
$cookieParams["lifetime"],
$cookieParams["path"],
$cookieParams["domain"],
$secure,
$httponly
);
session_id($SID);
session_name($this->session_name);
session_cache_limiter(5);
$this->sessionState = session_start();
$_SESSION['firstTrace'] = time();
$_SESSION['deleted_time'] = time() + 180;
$this->firstTrace = time();
return $this->sessionState;
}
else if ( $this->sessionState == self::SESSION_STARTED ) {
$this->sessionState = session_start();
$_SESSION['lastTrace'] = time();
return $this->sessionState;
}
}
public static function SessionControl() {
if ( !isset(self::$instance)) {
self::$instance = new self;
}
self::$instance->SessionStart();
return self::$instance;
}
Der Aufruf auf der Index...
HTML-Code:
require_once("./_includefiles/func.db_session.php"); $data = DTSession::SessionControl(); var_dump($data);
Code:
object(DTSession)#1 (7) { ["firstTrace":"DTSession":private]=> int(1554290080) ["lastTrace":"DTSession":private]=> NULL ["ttl":"DTSession":private]=> int(1440) ["session_name":"DTSession":private]=> string(5) "DTSID" ["newid":"DTSession":private]=> string(6) "sessdt" ["handler":"DTSession":private]=> string(9) "DTSession" ["sessionState":"DTSession":private]=> bool(true) }
Kommentar