Session in Klasse?

Alles rund um Module und Plugins in CONTENIDO 4.9.
Antworten
notebook20000
Beiträge: 56
Registriert: Mi 3. Jul 2013, 10:15
Kontaktdaten:

Session in Klasse?

Beitrag von notebook20000 » So 14. Jul 2013, 15:38

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

notebook20000
Beiträge: 56
Registriert: Mi 3. Jul 2013, 10:15
Kontaktdaten:

Re: Session in Klasse?

Beitrag von notebook20000 » So 14. Jul 2013, 17:51

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);
		}

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: Session in Klasse?

Beitrag von frederic.schneider_4fb » Fr 19. Jul 2013, 12:09

Versuche es mal hiermit:

Code: Alles auswählen

$sess = cRegistry::getSession();
Frederic Schneider
Entwickler bei der four for business AG

Antworten