• 0
Sign in to follow this  
Guest - Cyllwah -

Sem Soluções

Question

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!

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 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.

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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]

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites
  • 0
Guest - Cyllwah -

Dirao... Gostaria de saber se você poderia me ajudar em meu problema, seria grato!

Share this post


Link to post
Share on other 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 ([email protected]) 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>

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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!????::

Share this post


Link to post
Share on other sites
  • 0
Guest - Cyllwah -

Agradeço sua atenção décio e a dos demias que me ajudaram, solução com sucesso.

Moderador.... Pode fechar o post!!!!

Valeu!!!!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this