Seite 1 von 1

Session in Klasse?

Verfasst: So 14. Jul 2013, 15:38
von notebook20000
Hallo,

habe die Var per

Code: Alles auswählen

 public function __construct() {
      global $sess;
      $this->sess         = $sess;
      }
und versuche dann damit darauf zuzugreifen

Code: Alles auswählen

 private function addMerkliste() {
      echo "A:";
      echo "A:".$this->sess->is_registered('merkliste')."<br>";
                }

Bekomme dann aber den Fehler

Code: Alles auswählen

Fatal error: Call to undefined method cFrontendSession::is_registered() in /httpdocs/contenido/includes/frontend/include.front_content.php(593) : eval()'d code on line 501
Was mache ich falsch?

Inzwischen habe ich diesen Beispielcode aus der Wiki

Code: Alles auswählen

$myVar = 58;
if($sess->is_registered('myVar')) {
  	echo "myVar = " . $myVar . " ist bereits gespeichert.";
	} 
else {
  	$sess->register('myVar');
  	echo "myVar = " . $myVar . " wurde in der Session gespeichert.";
	}

echo "Übergebener Wert: myVar = " . $myVar;
ausprobiert. Außerhalb der Klasse und ich erhalte ebenfalls den Fehelrcode

Code: Alles auswählen

Fatal error: Call to undefined method cFrontendSession::is_registered() in /var/www/vhosts/2/104036/webspace/httpdocs/contenido/includes/frontend/include.front_content.php(593) : eval()'d code on line 290

Re: Session in Klasse?

Verfasst: So 14. Jul 2013, 17:51
von notebook20000
Hallo,

habe den Grundfehler gefunden. Der Methodenname ist jetzt wohl isRegistered

aber wie kann ich jetzt eine Session in einer Klasse generieren?

Folgender Code löscht leider imemr die Daten bzw , diese werden wohl nicht richtig gespeichert.

Code: Alles auswählen

	private function addMerkliste() {
		if($this->form["IMMOENTRYID"]) {
			$merkliste = $this->merkliste;
			$merkliste[$this->form["IMMOENTRYID"]] = $this->form["IMMOENTRYID"];

			
			if($this->sess->isRegistered('merkliste')) {
				echo "merkliste = " . $merkliste . " ist bereits gespeichert.<br>";
				} 
			else {
				$this->sess->register('merkliste');
				echo "merkliste = " . $merkliste . " wurde in der Session gespeichert.<br>";
				}
			echo "Übergebener Wert: merkliste = " . $merkliste."<br>";
			
			}
		print_r($merkliste);
		}

Re: Session in Klasse?

Verfasst: Fr 19. Jul 2013, 12:09
von frederic.schneider_4fb
Versuche es mal hiermit:

Code: Alles auswählen

$sess = cRegistry::getSession();