Foros del Web » Programando para Internet » ASP Clásico »

(tunait) Mostrar usuarios validados

Estas en el tema de (tunait) Mostrar usuarios validados en el foro de ASP Clásico en Foros del Web. Una vez que los usuarios has accedido al area reservada, mediante las siguientes instrucciones en el form. de login aparecen su nombre: myR2Set("online")=true myR2Set.update ahora ...
  #1 (permalink)  
Antiguo 14/06/2003, 17:55
Avatar de Halcon_2003  
Fecha de Ingreso: mayo-2003
Ubicación: Galicia - Pcia. de Pontevedra
Mensajes: 45
Antigüedad: 22 años
Puntos: 0
(tunait) Mostrar usuarios validados

Una vez que los usuarios has accedido al area reservada, mediante las siguientes instrucciones en el form. de login aparecen su nombre:

myR2Set("online")=true
myR2Set.update

ahora bien, si el usuario abandona la sesion ya sea cerrando el explorador o digiendose a otra dirección.

Como hago para que el campo online de la base se ponga en false y ya no aparezca por lo menos hasta que inicie nuevamente la sesion.
que instrucciones son y donde van.
Gracias
__________________
Halcon

Última edición por Halcon_2003; 14/06/2003 a las 18:25
  #2 (permalink)  
Antiguo 14/06/2003, 18:20
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 23 años
Puntos: 7
usa el evento Session_OnEnd
__________________
No tengo firma ahora... :(
  #3 (permalink)  
Antiguo 14/06/2003, 21:25
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 23 años, 3 meses
Puntos: 1
Crea un pequeño script que se ejecute en el evento session on end y que ponga ese campo de la base de datos del usuario como false, para que desaparezca como usuario activo
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #4 (permalink)  
Antiguo 14/06/2003, 23:59
Avatar de Halcon_2003  
Fecha de Ingreso: mayo-2003
Ubicación: Galicia - Pcia. de Pontevedra
Mensajes: 45
Antigüedad: 22 años
Puntos: 0
Si maestro estoy de acuerdo con eso pero dame algun ejemplo de como armo ese script y donde lo pongo
__________________
Halcon
  #5 (permalink)  
Antiguo 15/06/2003, 00:48
Avatar de Xtasys  
Fecha de Ingreso: junio-2003
Mensajes: 25
Antigüedad: 21 años, 10 meses
Puntos: 0
Pelao

existen 2 formas para lo que deseas

Primero, hacer un archivo de "log out" es decir que termine session mediante un link y es refacil

Código:
-------------------logoff.asp-------------------
<%
' Archivo de termino de Session
' 
myR2Set("online") = False
myR2Set.update
' Hasta aqui ya tenemos al usuario con esa variable en False
' es decir, deslogeado del sistema
' ahora lo redireccionaremos a la pagina principal , 
'de inicio o de autentificacion

Response.Redirect "index.asp"

%>
----------------------------------------------------
Hasta ahi el usuario ya estaria deslogeado de tu Aplicacion Web,
pero que pasa si el usuario en ves de hacer click en el link, que dirige a la pagina logoff.asp, entra a otro sitio en internet o cierra el explorador ?

Para esto existe el Evento "Session_OnEnd", y pasa que cada ves que el usuario entra a otro sitio o cierra el explorador se cierra su "Session" en el servidor que contiene nuestros scripts ASP, las variables de estos eventos se manejan en el archivo global.asa ubicado en el directorio raiz de tu aplicacion web, todos estos eventos son procedimientos y por lo tanto estan demarcados con "Sub" para el inicio y "end sub" para el fin, por lo tanto nuestro archivo golbal.asa quedaria de la siguiente manera

Código:
---------------------------Global.asa-------
myR2Set("online") = False
myR2Set.update
-----------------------------------------------
La verda es que no se si puedes poner estas variables en ese archivo, yo en los global.asa solo manejor variables de "Session" o de "Application", quizas lo deberias manejar de esa forma como variables de Session ya que estas se pueden acceder desde cualquier pagina asp de tu aplicacion, son como variables Globales del sitio

Session("online") = False

bueh, despues que generaste el metodo para que las conexiones
se terminen debes asegurarte que cada ves que se cargue una pagina en un cliente se acceda a las pagina de el servidor y no a las paginas cache de cada cliente, esto lo haces con los siguientes lineas que las ubicas entre los tags <head> y </head> de tus paginas

Código:
<META HTTP-EQUIV="Expires" CONTENT="Tue, 01 Jan 1980 1:00:00 GMT">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
Ojala que de todo eso hayas sakado alguna conclusion

Saludos
Xtasys
__________________
-----------------------------------------------
X t a s y s
Is On Ur Blood
Greetz to Systat!!
------------------------------------------------
  #6 (permalink)  
Antiguo 18/06/2003, 14:11
Avatar de Halcon_2003  
Fecha de Ingreso: mayo-2003
Ubicación: Galicia - Pcia. de Pontevedra
Mensajes: 45
Antigüedad: 22 años
Puntos: 0
Quiero saber si estas instrucciones en el global.asa estan bien
Sub Application_OnEnd
Application("Base_de_datos1_ConnectionString") = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=D:\Inetpub\...........\socios.mdb"
myR2Set("online") = False
myR2Set.update
Application.Lock
Application("Activos") = Application("Activos") - 1
Application.UnLock
End Sub
__________________
Halcon
  #7 (permalink)  
Antiguo 18/06/2003, 14:34
Avatar de Xtasys  
Fecha de Ingreso: junio-2003
Mensajes: 25
Antigüedad: 21 años, 10 meses
Puntos: 0
pelao



El evento Aplicattion_OnEnd se usa cuando la aplicacion entera finaliza o termina, por ejemplo cuando reinicias el computador o cuando reinicias el Internet Information server.

El evento que debes usar es el Session_OnEnd, este evento se ejecuta cuando un usuario de tu aplicacion (de tu sitio web) sale de este mismo, lo abandona, ya sea por que cierra un explorador o por que abre una pagina en otro sitio.

asi que el evento que debes usar es el Session_OnEnd

Saludos
__________________
-----------------------------------------------
X t a s y s
Is On Ur Blood
Greetz to Systat!!
------------------------------------------------
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:32.