Seite 1 von 1

session in externer klasse starten was mach ich falsch?

Verfasst: Di 19. Feb 2008, 01:27
von cms
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

Verfasst: Di 19. Feb 2008, 09:02
von Dodger77
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).

Verfasst: Di 19. Feb 2008, 11:14
von cms
benutze mein klasse die ich eingebunden habe poste sie heut abend mal.
Danke schon mal

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

Verfasst: So 14. Jul 2013, 15:24
von notebook20000
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