Alchemist 0 Denunciar post Postado Janeiro 7, 2010 Pessoal to procurando faz um tempo já e n achei nada na net :S Como eu guardo um objeto dentro de uma sessão e como eu recupero ele ? Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Janeiro 7, 2010 Setando ou guardando. <?php session_start(); $var = "Texto"; $_SESSION['var'] = $var; ?> Agora recuperando em outra página por exemplo: <?php session_start(); echo $_SESSION['var']; ?> Compartilhar este post Link para o post Compartilhar em outros sites
Alchemist 0 Denunciar post Postado Janeiro 7, 2010 Tive que usar assim pq era objeto !! Desta forma que você colocou não funciona: COLOCANDO session_start(); $_SESSION["usuario"] = serialize($usuario); PEGANDO include('model/bean/Usuario.php'); session_start(); $var = unserialize($_SESSION['usuario']); echo $teste = $var->getDsEmail(); Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Janeiro 7, 2010 Implemente a interface Serializable Um exemplo simples: class Teste implements Serializable { private $teste = 1; private $nome = 'Neto'; public function __construct(){ echo 'Construindo ' , __CLASS__ , '<br />'; } public function mostra(){ printf( 'Teste: %d<br />Nome: %s<br />' , $this->teste , $this->nome ); } public function setTeste( $teste ){ $this->teste =& $teste; } public function setNome( $nome ){ $this->nome =& $nome; } public function serialize(){ echo __CLASS__ , '::serialize() chamado' , '<br />'; return serialize( get_object_vars( $this ) ); } public function unserialize( $data ){ echo __CLASS__ , '::unserialize(' , $data , ') chamado' , '<br />'; $data = unserialize( $data ); foreach ( $data as $name => $value ) $this->$name = $value; } } Usando: session_start(); if ( isset( $_SESSION[ 'dados' ] ) ) $dados =& $_SESSION[ 'dados' ]; else { $dados = new Teste(); $dados->setTeste( 30 ); $dados->setNome( 'João Batista Neto' ); $_SESSION[ 'dados' ] = $dados; } $dados->mostra(); A saída na primeira vez: Construindo Teste Teste: 30 Nome: João Batista Neto Teste::serialize() chamado Na segunda vez: Teste::unserialize(a:2:{s:5:"teste";i:30;s:4:"nome";s:18:"João Batista Neto";}) chamado Teste: 30 Nome: João Batista Neto Teste::serialize() chamado Compartilhar este post Link para o post Compartilhar em outros sites