Autor Tópico: ** RESOLVIDO ** Capturar Usuário Logado  (Lida 7513 vezes)

AndreMavericks

  • Novato
  • *
  • Mensagens: 13
    • Email
** RESOLVIDO ** Capturar Usuário Logado
« Online: Novembro 16, 2009, 07:36:46 am »
Olá pessoal.

Eu tenho uma aplicação onde ao gravar um novo registro na base, eu preciso registrar a Data e também qual foi o usuário que inseriu o registro nos campos Dt Cadastro e Usuario Cadastro.
E também ao atualizar eu gravo qual foi a ultima data de alteração e o ultimo Usuário que alterou o registro.

Com as datas não tenho problemas, porém não estou conseguindo encontrar uma forma de capturar o usuário que está na sessão.

OBS: Para entrar na minha aplicação, tenho um formulário com Login e Senha.



Desde já agradeço a ajuda.
« Última modificação: Dezembro 07, 2009, 10:12:56 am por Rodrigo Lins »

Allan Medeiros

  • Expert
  • *****
  • Mensagens: 504
    • Email
Re: Capturar Usuário Logado
« Responder #1 Online: Novembro 16, 2009, 07:52:53 am »
Olá Andre,
No formulário de login, crie uma variável global para armazenar o nome do usuário logado:
$gloLogin={loginUsuario};
sc_set_global($gloLogin);

Nos formulários da sua aplicação onde deseja gravar o login do usuário, vá na opção Formulário / Atribuir Valores
Selecione o campo onde será gravado o login; coloque a opção "Valor Definido" e preencha com o nome da variável global: [gloLogin]

Espero ter ajudado.
[]s
allan
Allan Medeiros
Analista de Informática
__________________________________________
Companhia de Processamento de Dados da Paraíba
medeiros@codata.pb.gov.br

robsonsilva

  • Visitante
Re: Capturar Usuário Logado
« Responder #2 Online: Novembro 16, 2009, 07:22:14 pm »
Olá André,

Eu já tive alguns probleminhas ao trabalhar com sessões dentro de algumas aplicações, principalmente aquelas abertas em iframes... até hoje não descobri o motivo, mas acabei optando por utilizar cookies... É uma boa alternativa, pelo menos resolveu meus problemas.

Na aplicação de Login, basta setar o cookie com o comando:
Código: [Selecionar]
setcookie("usuarioid", $login, time()+3600, "/", ".site.com.br", 1);
usuarioid -> nome do cookie
$login -> valor a ser gravado
time()+3600 -> tempo para expirar em segundos
"/" - gravar o cookie para todas as páginas a partir do diretório raiz do site
".site.com.br" - domínio
1 - usar https (1- sim / 0 - não)



e nas aplicações desejadas basta recuperar o cookie no evento onInit():
Código: [Selecionar]
$usuarioid = $_COOKIE["usuarioid"];

Att.
Robson

Rodrigo Lins

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 504
    • Overalt I.T
Re: Capturar Usuário Logado
« Responder #3 Online: Novembro 17, 2009, 09:51:47 am »
Bom Dia,

A solução dos nosso companheiros são boas e corretas, é só você escolher de fato o que lhe encaixa melhor... Eu geralmente utilizo a variável global mesmo como o Allan falou.

Robson, pode ser que o seu PHP não esteja configurado corretamente para "SESSION", umas das propriedades do PHP que é importante é o session.save_path se ele não estiver configurado, ou não tiver permissão de escrita no diretório, pode ser que não funcione, etc... Ambiente é um problema sempre complicado, as vezes funciona aqui, ali já não funciona, etc... Mas na maioria das vezes é configuraçào de fato.

Rodrigo Lins.

AndreMavericks

  • Novato
  • *
  • Mensagens: 13
    • Email
Re: Capturar Usuário Logado
« Responder #4 Online: Novembro 18, 2009, 04:14:24 pm »
Valeu pessoal, estou postando atrasado, mas muito obrigado pela resposta rápida!

Funcionou perfeitamente.

Só tive que fazer uma modificação, pois no momento em que eu atribuí o usuario da sessão para minha variável, eu recuperei o nome, e eu precisava do código do usuario.
$usuario= $_SESSION['usuario'];

Então na minha aplicação eu criei um campo novo, que recebeu este nome,
e à partir deste nome, consigo recuperar o código do Usuario e grava-lo na base.



Muito obrigado!