session in externer klasse starten was mach ich falsch?

Gesperrt
cms
Beiträge: 75
Registriert: Do 13. Dez 2007, 14:34
Wohnort: BERLIN
Kontaktdaten:

session in externer klasse starten was mach ich falsch?

Beitrag von cms » Di 19. Feb 2008, 01:27

ich wollte direkt aus einer klasse die session variablen speichern bzw auslesen.
Aber irgendwie komm ich nicht weiter.
hab hier mal die setSession und get hinzu gepackt .
kann mir jemand helfen ?

Code: Alles auswählen

<?

		function setSession(){
		//set name
		
		if ($sess->is_registered("p_com_user_name")) {
			echo "Name: ".$p_com_user_name."<br>";
		} else {
		$p_com_user_name=$this->getName();
		$sess->register("p_com_user_name");
		}
		//set icq
		if ($sess->is_registered("p_com_user_icq")) {
			echo "icq: ".$p_com_user_icq."<br>";
		} else {
		$p_com_user_icq=$this->user["icq"];
		$sess->register("p_com_user_icq");
		}
		//set icq
		if ($sess->is_registered("p_com_user_img")) {
			echo "img: ".$p_com_user_img."<br>";
		} else {
		$p_com_user_img=$this->user["img"];
		$sess->register("p_com_user_img");
		}
		
		
		}

		function getSession()
		{
				if(isset($p_com_user['user']))
				{
					$this->user["name"]=$p_com_user["name"];
					$this->user["icq"]=$p_com_user["icq"];
					$this->user["img"]=$p_com_user["img"];
					$this->user["stat"]=$p_com_user["stat"];
					}else{
				    $this->setError('Session dont exist');}
		}
		
		// Loggin
		function Login($name,$icq,$img)
		{
						$this->setName($name);
						$this->setIcq($icq);
						$this->setImg($img);
						$this->setSession();
		}
		
		

?>
Am liebsten würde ich es als array an die session übergeben...
Wie mach ich das?
und hier ist die Fehlermeldung...
Fatal error: Call to a member function is_registered() on a non-object in
Gruß CMS
the Student who developed some but have any questions

Dodger77
Beiträge: 3625
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » Di 19. Feb 2008, 09:02

Wo ist die Klasse? Du hast nur ein paar Funktionen gepostet, darin kann dann auch ein "$this->" nicht funktionieren. In der Funktion "setSession" verwendest du darüber hinaus die Contenido-Session ($sess). Die sollte dann aber auch in der Funktion zur Verfügung stehen (z.B. durch Übergabe als Parameter oder als globale Variable).

cms
Beiträge: 75
Registriert: Do 13. Dez 2007, 14:34
Wohnort: BERLIN
Kontaktdaten:

Beitrag von cms » Di 19. Feb 2008, 11:14

benutze mein klasse die ich eingebunden habe poste sie heut abend mal.
Danke schon mal
Gruß CMS
the Student who developed some but have any questions

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

Re: session in externer klasse starten was mach ich falsch?

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

Hallo,

habe gerade das gleiche Problem
Habe die Sess mit

Code: Alles auswählen

	public function __construct() {
		global $sess;
		$this->sess			= $sess;
		}
und versuche gerade mit

Code: Alles auswählen

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

und dann erhalte ich

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? Ich nutze die aktuelle 4.9 RC1 trunk

Danke

Gesperrt