[Rio-pm] Como recuperar dados de uma sessão que já foi iniciada

Cleysinho cleysinhonv em gmail.com
Sexta Março 30 08:03:50 PDT 2012


Olá Pessoal,

Estou utilizando o módulo CGI:session para controlar sessão em uma
aplicação que estou desenvolvendo. Eu uso dados do usuário que estão no
Banco de dados e coloco na sessão para que em eventuais casos eu precise
desses dados, como por exemplo controlar funcionalidades que determinado
usuário pode ter acesso ou em inserção de dados oriundos dos formulários de
cadastro do sistema ficarem registrados para aquele usuário.



sub StarSession
{
    $id   =shift;
    $name =shift;
    $email=shift;
    $level=shift;
    if(@_)
    {
        $id{id}  =$_[0];
        $name{name}  =$_[1];
        $email{email}=$_[2];
        $level{level}=$_[3];
    }

    $CGISESSID = $session->id();
    $session->load();
    $session->param(-name=>'iduser',-value=>"$id");
    $session->param(-name=>'name'  ,-value=>"$name");
    $session->param(-name=>'email' ,-value=>"$email");
    $session->param(-name=>'level' ,-value=>"$level");

    $session->expire(3600);
    $session->flush();

    return 'Ok';
}

# A única coisa que sei é que posso recuperar dados da seguinte forma

sub valid
{
    if($session->param('iduser') ne '' && $session->param('name'))
    {
        @dados=();
        push (@dados,$session->param('iduser'));
        push (@dados,$session->param('name'));
        push (@dados,$session->param('email'));
        push (@dados,$session->param('level'));
        push (@dados,'Ok');
        return @dados;
    }
    else
    {
        @dados=();
        push (@dados,'False');
        return @dados;
    }
}

A minha dúvida é: Como posso recuperar esses dados na sessão de qualquer
"lugar" (arquivos)? Se eu instanciar um objeto do CGI::Session eu consigo
esses mesmos dados? Ou se alguém tiver uma outra solução mais simples e
poder me sugerir.

Abraços.

-- 
**
.: Inteligência Coletiva :.
Uma inteligência distribuída por toda parte: tal é o nosso axioma inicial.
Ninguém sabe tudo, todos sabem alguma coisa, todo o saber está na
humanidade’. (Pierre Lévy)
www.bioinfopop.ufv.br
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20120330/d44a846d/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm