Ir para conteúdo
Fórum Script Brasil
  • 0

Sem Soluções


Guest - Cyllwah -

Pergunta

Guest - Cyllwah -

Tenho uma aplicação em asp que o usuário terá de passar pelo login e senha e logo se for true abre-se uma sessão com seu nome e com seu id, gravando também o status de on-line no db. Até ai tudo bem, mas se o usuário

fechar o browser, solicitar fechamento da sessão atravéz de um link ou então por sua inatividade o global.asa deveria fazer com um record set pelo Sub Session_OnEnd chamando a SP para assim gravar seu status como off-line, mas não consegui, porque eu não sei. Então pensei também, em fazer com JScript, ou seja, quando o usuário tentar fechar a página de qualquer maneira a janela corrente venha ser fechada dependendo de sua resposta sim ou não se sim ele fecha a janela corrente e abre uma pop-up.asp que se encarregaria de gravar o valor off-line do usuário. se não ele continuaria na janela corrente. Mas também não consegui, pelo amor de Deus alguém teria uma ajuda! Todas as quais vierem serão de grande valia, rs...

Abraços!

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0
Então pensei também, em fazer com JScript, ou seja, quando o usuário tentar fechar a página de qualquer maneira a janela corrente venha ser fechada dependendo de sua resposta sim ou não se sim ele fecha a janela corrente e abre uma pop-up.asp que se encarregaria de gravar o valor off-line do usuário.

Brother!!!

Esta solução eu lhe passei em um tópico anterior... lembra-se ?

Acredito que haja uma pequena controversia ai.....

No seu Global, você ter que remover a rotina quando é finalizada a sessão, ou seja, se finalizar a sessão (tanto por tempo, quanto por encerramento do navegador) não aconteça nada.

Quando a janela principal do site (admin.asp) for encerrada, dá pra você criar uma rotina em JavaScript, que chame uma nova Janela, nesta Nova Janela, você chama um arquivo em ASP que faz a inclusão no campo da tabela dizendo o horário e dia que foi encerrada a sessão da mesma de acordo com uma Session aberta com nome do usuario, ou até mesmo um valor recuperado de um cookie.

Acredito que essa seja a unica forma de se fazer, caso apareça outra, você poderia POSTAR aqui no forum para mostrar a todos como se faz.

Sem mais para o momento:

Wellington Rodrigues da Silva

[ursolouco] - Estudante de Desenvolvimento.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Cyllwah -

Boa Tarde, Ursoloco!

Não discordo de você em relação ao que você me disse sobre a janela pop up ou então sobre a Session_OnEnd global.asa!

Porém, não funcionam nenhum deles, ou seja, com certeza estou fazendo algo de errado, e na verdade , aqui estou para pedir ajudas e não critica-los, se é que em algum momento sentiu-se assim, neste, peço-te desculpas.

Retomando minha "pequena dúvida"!

Quero esclarecer de onde surgiu a "pequena dúvida", tudo surgiu com a necessidade de monitorar o acesso ao site por meio de login e senha com sessões e status em banco de dados como já havia dito. Como tenho que usar fórum, chats e o sistema de painel de controle no meu site, fiquei confuso em como administrar tudo isso com apenas um gobal.asa, então parti para o db, aonde estaria gravando o seu status (On_line - Off_line) mas infelizmente me deparei com problemas maiores, como:

Como gravar seu status no db quando abandonar a sessão(resumindo as ações(fechar browser ou então expirar tempo da sessão)).

A resposta foi diretamente para o global.asa aonde até discutimos um post anterior como dito àcima, porém não consigui gravar nada através dessa maneira.

Logo, pensei no JScript (Evento(OnUnLoad)) o que também não tem funcionado, ou seja, a página fechasse e não chama a qual deveria chamar para gravar o status off-line no db.

e agora, o que faço???? rs....

valeu!

Link para o comentário
Compartilhar em outros sites

  • 0
Não discordo de você em relação ao que você me disse sobre a janela pop up ou então sobre a Session_OnEnd global.asa!

Porém, não funcionam nenhum deles, ou seja, com certeza estou fazendo algo de errado, e na verdade , aqui estou para pedir ajudas e não critica-los, se é que em algum momento sentiu-se assim, neste, peço-te desculpas.

<_<

Desculpe !!!

Não posso lhe ajudar nesta dúvida. Procure os moderadores do forum, pois os mesmo possui certificados da Microsof e possuem qualificação para resolver o seu problema.

Boa Sorte!!!

[ursolouco]

Link para o comentário
Compartilhar em outros sites

  • 0

só uma retificação ai....

não é necessariamente que os moderadores do forum são certificados pela microsoft ou mesmo que eles tenham um certificado...

o moderador está aqui para cuidar da organização do fórum....... ok??? :)

estou só explicando...hehehehe

Link para o comentário
Compartilhar em outros sites

  • 0

Bom , como prometido, vamos recomeçar de novo :

Coloque o seguinte código abaixo no arquivo global.asa , certifique-se que ele esta na raiz da sua aplicação , faça as alterações necessárias na conexão e veja se vai ou não vai...

Eu testei em minha máquina e funcionou.

Qualquer dúvida ou se não funcionar, você pode entrar em contato diretamente por e-mail (deciohp@yahoo.com.br) para agilizar , e depois de resolvido a gente posta a solução aqui. Abraço.

PS: Estou sugerindo por e-mail, porque não vou poder acessar a net constantemente nos próximos dias.

Código do Global.ASA:

<script language=VBScript RUNAT=Server>

Sub Application_OnStart

End Sub

Sub Session_OnStart

Session("start")=time

End Sub

Sub Session_OnEnd

Dim con

Set con = Server.CreateObject("ADODB.Connection")

con.ConnectionString = "driver={SQL Server};" & _

"server=10.30.30.30;" & _

"database=testes;" & _

"Uid=sa;" & _

"Pwd=;"

con.open

con.Execute("insert into log(Hora_in,Hora_Out) values ('" & Session("Start") & "','"& time & "')")

con.close

set con = nothing

End Sub

</script>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Cyllwah -

Boa Noite, Decio!

Rs.. Infelizmente não consegui fazer o informado!

Tenho feito pesquisas e percebi que o problema é com o usuário do IIS, aonde teriam que alterar a forma como o IIS loga-se e também a prioridade, ou seja para alta(isolada) alguma coisa assim!

Não sei bem direito, é o que tenho lido nos posts desse e de outros fóruns. Na verdade, não só eu estou com esta dúvidas, mas muitas pessoas que desejam inserir ou atualizar dados no db, por meio do Session_OnEnd, mas o mesmo não responde.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Cyllwah -

Décio.... Aleluia!!!! rs...

você não sabe como estou feliz,rs...

Consegui fazer o Session_OnEnd Gravar..hehehe, porém existe um ponto a acrescentar, ou seja, ele está atualizando todos os registros e não somente o registro que a sessão foi expirada!

Como proceder dizendo para ele gravar os dados no registro tal, da tabela tal referente a uma sessão que foi expirada??? rs... e agora!????::

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...