Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fabriciohp

session, orientado a objetos

Recommended Posts

Como eu gravo um objeto dentro da session?

exemplo:

 

$usuario = new Usuario();
(continua..)

class Login {
	public $confirmaLogin;
	public $checaLogin;
	
	public function login() {
		if($this->confirmaLogin != 1) {
			session_start();
			$_SESSION['usuario'] = ??; //aqui..
		}
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Onde você colocou as interrogações vai a variável com a informação do usuário.

 

Pelo modelo OO poderia ser tanto um argumento para login() uanto uma propriedade que tenha recebido um valor através de outro método.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu.. mas só pega o usuario e senha que ta passando no login, como faço para pegar e passar todas as variaveis do objeto usuario?

 

Na versão PHP 5.3 você pode salvar um objeto direto na sessão, exemplo:

 

$_SESSION['usuario'] = new Usuario;

Não lembro apartir de qual versão do PHP isso foi implementado, mas caso sua versão não permita esse tipo de operação você pode utilizar as funções serialize e unserialize para guardar objetos em sua sessão.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Deu.. mas só pega o usuario e senha que ta passando no login, como faço para pegar e passar todas as variaveis do objeto usuario?

 

Na versão PHP 5.3 você pode salvar um objeto direto na sessão, exemplo:

 

$_SESSION['usuario'] = new Usuario;

Não lembro apartir de qual versão do PHP isso foi implementado, mas caso sua versão não permita esse tipo de operação você pode utilizar as funções serialize e unserialize para guardar objetos em sua sessão.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Opa! funcionou o $_SESSION['usuario'] = new Usuario; mas ele pega um array com valores vazis, não tem como eu comparar com o $usuario->nome e pegar todos valores do $usuario onde nome = $usuario->nome?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não é possível armazenar dados do tipo RESOURCE em variáveis de sessão

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif

Alguns tipos de dados não podem ser serializados e assim guardados em sessões. Isso inclui variáveis de resource(recursos) ou objetos com referências circulares (ex. objetos que passam uma referência de si mesmo para outro objeto).

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif

http://www.php.net/manual/pt_BR/intro.session.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.