Achim: Hilfe zur Session-Klasse für Globals=off

Beitrag lesen

Hallo,

mir hat vor einiger Zeit ein Arbeitskollege mal einen session-Klasse geschrieben (leider erreiche ich ihn nicht mehr da die Firma platt ist.

Nun möchte ich dies Klasse für register_globals=off tauglich machen.
weiter möchte ich nur die superglobals wie $_SESSION verwenden

Da ich untter OOP keine Ahnung habe wäre ich sehr dankbar wenn mir hier jemand ein wenig helfen könnte

Hier mal der Code (später folgt dann der Aufruf ) ist eigentlich nicht viel

class mySession
{
      var $SessionCookieName = "sid";
      var $SecureCookieName = "secureCookie";
      var $SecureCookieValue;
      var $sid;
      var $sessionOK = false;
      var $arrSessionData;

function mySession($nNewSession=0)
      {
          if($nNewSession)
          {
              if( $this->issetCookie($this->SessionCookieName )  )
              {
                  session_id($this->getSessionID());
                  session_start();
                  session_destroy();
              }
              $this->createSession();
          }else{
              $this->sid = $this->getSessionID();
              $this->startSession();
          }
      }

function createSession()
      {
        //echo "<pre> session-array===>";print_r($arrSession);
          global $arrSession;
          session_start();
          $this->sid = session_id();
          setcookie($this->SessionCookieName, $this->sid);
// mit session_register wollte ich eigentlich nichtmehr arbeiten da ich lieber die
// superglobals verwenden möchte also anstatt
//session_register
//$_SESSION =
//oder
// $_SESSION['arrSession'] =

session_register("arrSession");
          $this->arrSessionData = &$arrSession;
      }

function startSession()
      {
          global $arrSession;
          session_id($this->sid);
          session_start();
          session_register("arrSession");
          $this->arrSessionData = &$arrSession;
      }

function destroySession()
      {
           session_destroy();
      }

function getSessionID()
      {
          return $this->getCookie($this->SessionCookieName);
      }

function issetCookie($strCookieName)
      {
          global $$strCookieName;
          return isset($$strCookieName);
      }

function getCookie($strCookieName)
      {
          global $$strCookieName;
          return $$strCookieName;
      }

function setSessionValue($strArrayItem, $Value)
      {
          $this->arrSessionData[$strArrayItem] = $Value;
      }

function getSessionValue($strArrayItem)
      {
          return $this->arrSessionData[$strArrayItem];
      }
      function getSessionInnerValue($strArrayItem,$Value)
      {
          return $this->arrSessionData[$strArrayItem][$Value];
      }

}
?>

hier der Aufruf aus dem programm raus

$ses = &new mySession(1);

$ses->getSessionValue("curCostumerID"); // holt mir einen Wert aus
// $_SESSION['arrSession']['curCostumerID'];
Mit
$ses->SetSessionValue("curCostumerID",123); // Setzte ich mir den Wert
// $_SESSION['arrSession']['curCostumerID'];

oder ein komplettes array mit
 $ses->setSessionValue("curCustBank", $arrCostumer);

Ich finde das auch ok so .

Nur checke ich nicht wie ich die dlobals aus der Klasse rausbekomme und dies umbauen muss

Kann mir da jemand helfen

Gruss und danke

Achim