Como controlar Usuarios registrados activos

10/09/2003 - 12:17 por Perxurau | Informe spam
Buenas.

Estoy intentando controlar los usuarios registrados en una web que se
encuentran actualmente activos, así como las sesiones que tiene abioertas
cada uno.

Cuando el usuario introduce su código y pasword guardo los datos en un tabla
acces, añadiendo uno al campo contador de ese usuario, solo hay un registro
por usuario.

El problema lo tengo para restar datos al campo contador.

Puse el siguiente código en el global.asa:
Sub Application_OnStart
Application("UserAct")=0
End Sub

Sub Session_OnStart
session.timeout0
application.lock
Application("UserAct")= Application("UserAct")+1
application.unlock
End Sub

Sub Session_OnEnd
application.lock
Application("UserAct")= Application("UserAct") - 1
application.unlock
dim Cn
dim sqltxt
set Cn=Server.CreateObject("ADODB.Connection")
Cn.Provider="Microsoft.Jet.OLEDB.4.0"
Cn.Open Server.MapPath("/datos.mdb")
sqltxt = "UPDATE SociosCon SET conexion = conexion - 1 WHERE Usuario = '"
& Session("usuario") & "'"
Cn.Execute sqltxt
Cn.close
set Cn = nothing
End Sub
el control de los usuarios activos Application("UserAct") funciona
perfectamente, pero el acceso a la base de datos no funciona y no acabo de
ver la razon.
El código para restar en la base de datos lo probe en un archivo asp y
funciona, pero no lo hace al terminar la sesión ni por tiempo ni con
session.abandom, podría alguien indicarme cual es el problema, o si lo tiene
solucionado de alguna manera indicarmela.
Muchisimas gracias

Preguntas similare

Leer las respuestas

#1 Jhonny Vargas P.
11/09/2003 - 15:23 | Informe spam
Hola,

Es imposible saber exactamente la cantidad de usuarios activos, ya que, el
usuario puede cerrar el browser y nunca podrías controlar esto... tampoco
puedes controlar los apagados de PC en fin...

A lo más puedes crear sesiones que duren un par de minutos de inactividad...



Saludos,
Jhonny Vargas P. [MS MVP-ASP]
Santiago de Chile


"Perxurau" wrote in message
news:#
Buenas.

Estoy intentando controlar los usuarios registrados en una web que se
encuentran actualmente activos, así como las sesiones que tiene abioertas
cada uno.

Cuando el usuario introduce su código y pasword guardo los datos en un


tabla
acces, añadiendo uno al campo contador de ese usuario, solo hay un


registro
por usuario.

El problema lo tengo para restar datos al campo contador.

Puse el siguiente código en el global.asa:
Sub Application_OnStart
Application("UserAct")=0
End Sub

Sub Session_OnStart
session.timeout0
application.lock
Application("UserAct")= Application("UserAct")+1
application.unlock
End Sub

Sub Session_OnEnd
application.lock
Application("UserAct")= Application("UserAct") - 1
application.unlock
dim Cn
dim sqltxt
set Cn=Server.CreateObject("ADODB.Connection")
Cn.Provider="Microsoft.Jet.OLEDB.4.0"
Cn.Open Server.MapPath("/datos.mdb")
sqltxt = "UPDATE SociosCon SET conexion = conexion - 1 WHERE Usuario '"
& Session("usuario") & "'"
Cn.Execute sqltxt
Cn.close
set Cn = nothing
End Sub
el control de los usuarios activos Application("UserAct") funciona
perfectamente, pero el acceso a la base de datos no funciona y no acabo de
ver la razon.
El código para restar en la base de datos lo probe en un archivo asp y
funciona, pero no lo hace al terminar la sesión ni por tiempo ni con
session.abandom, podría alguien indicarme cual es el problema, o si lo


tiene
solucionado de alguna manera indicarmela.
Muchisimas gracias



Respuesta Responder a este mensaje
#2 Perxurau
11/09/2003 - 16:04 | Informe spam
Si en el archivo global.asa en el evento Sub Session_OnEnd funciona el
contador con las variables Application("UserAct"), teoricamente debería
poder acceder a una base de datos para restar.

Las variables de sesion se guardan en archivos del servidor y el tiempo de
espera tambien se guarda en el servidor, por lo que podemos tener
controlados mas o menos en funcion del tiempo que indiquemos en
session.timeout, pero aunque pongamos 2 horas y el usuario apage el
ordenador, a las dos horas el servidor restar un usuario a
Application("UserAct") en el archivo global.asa, lo que no entiendo es
porque no puedo acceder a la base de datosm de usuarios registrados y
restar.

"Jhonny Vargas P." escribió en el mensaje
news:
Hola,

Es imposible saber exactamente la cantidad de usuarios activos, ya que, el
usuario puede cerrar el browser y nunca podrías controlar esto... tampoco
puedes controlar los apagados de PC en fin...

A lo más puedes crear sesiones que duren un par de minutos de


inactividad...



Saludos,
Jhonny Vargas P. [MS MVP-ASP]
Santiago de Chile


"Perxurau" wrote in message
news:#
> Buenas.
>
> Estoy intentando controlar los usuarios registrados en una web que


se
> encuentran actualmente activos, así como las sesiones que tiene


abioertas
> cada uno.
>
> Cuando el usuario introduce su código y pasword guardo los datos en un
tabla
> acces, añadiendo uno al campo contador de ese usuario, solo hay un
registro
> por usuario.
>
> El problema lo tengo para restar datos al campo contador.
>
> Puse el siguiente código en el global.asa:
> Sub Application_OnStart
> Application("UserAct")=0
> End Sub
>
> Sub Session_OnStart
> session.timeout0
> application.lock
> Application("UserAct")= Application("UserAct")+1
> application.unlock
> End Sub
>
> Sub Session_OnEnd
> application.lock
> Application("UserAct")= Application("UserAct") - 1
> application.unlock
> dim Cn
> dim sqltxt
> set Cn=Server.CreateObject("ADODB.Connection")
> Cn.Provider="Microsoft.Jet.OLEDB.4.0"
> Cn.Open Server.MapPath("/datos.mdb")
> sqltxt = "UPDATE SociosCon SET conexion = conexion - 1 WHERE Usuario > '"
> & Session("usuario") & "'"
> Cn.Execute sqltxt
> Cn.close
> set Cn = nothing
> End Sub
> el control de los usuarios activos Application("UserAct") funciona
> perfectamente, pero el acceso a la base de datos no funciona y no acabo


de
> ver la razon.
> El código para restar en la base de datos lo probe en un archivo asp y
> funciona, pero no lo hace al terminar la sesión ni por tiempo ni con
> session.abandom, podría alguien indicarme cual es el problema, o si lo
tiene
> solucionado de alguna manera indicarmela.
> Muchisimas gracias
>
>
>


Respuesta Responder a este mensaje
#3 Insomnia
11/09/2003 - 16:06 | Informe spam
podrias meter tu site dentro de un frame general y q al cerrar este a través
de java q cierre sesión
o como bien han dixo limitar el tiempo de la misma


"Jhonny Vargas P." escribió en el mensaje
news:
Hola,

Es imposible saber exactamente la cantidad de usuarios activos, ya que, el
usuario puede cerrar el browser y nunca podrías controlar esto... tampoco
puedes controlar los apagados de PC en fin...

A lo más puedes crear sesiones que duren un par de minutos de


inactividad...



Saludos,
Jhonny Vargas P. [MS MVP-ASP]
Santiago de Chile


"Perxurau" wrote in message
news:#
> Buenas.
>
> Estoy intentando controlar los usuarios registrados en una web que


se
> encuentran actualmente activos, así como las sesiones que tiene


abioertas
> cada uno.
>
> Cuando el usuario introduce su código y pasword guardo los datos en un
tabla
> acces, añadiendo uno al campo contador de ese usuario, solo hay un
registro
> por usuario.
>
> El problema lo tengo para restar datos al campo contador.
>
> Puse el siguiente código en el global.asa:
> Sub Application_OnStart
> Application("UserAct")=0
> End Sub
>
> Sub Session_OnStart
> session.timeout0
> application.lock
> Application("UserAct")= Application("UserAct")+1
> application.unlock
> End Sub
>
> Sub Session_OnEnd
> application.lock
> Application("UserAct")= Application("UserAct") - 1
> application.unlock
> dim Cn
> dim sqltxt
> set Cn=Server.CreateObject("ADODB.Connection")
> Cn.Provider="Microsoft.Jet.OLEDB.4.0"
> Cn.Open Server.MapPath("/datos.mdb")
> sqltxt = "UPDATE SociosCon SET conexion = conexion - 1 WHERE Usuario > '"
> & Session("usuario") & "'"
> Cn.Execute sqltxt
> Cn.close
> set Cn = nothing
> End Sub
> el control de los usuarios activos Application("UserAct") funciona
> perfectamente, pero el acceso a la base de datos no funciona y no acabo


de
> ver la razon.
> El código para restar en la base de datos lo probe en un archivo asp y
> funciona, pero no lo hace al terminar la sesión ni por tiempo ni con
> session.abandom, podría alguien indicarme cual es el problema, o si lo
tiene
> solucionado de alguna manera indicarmela.
> Muchisimas gracias
>
>
>


Respuesta Responder a este mensaje
#4 Perxurau
11/09/2003 - 16:39 | Informe spam
Me resulta imposible añadir frames en este proyecto.

Aunque imite el tiempo de la sesion sigue sin ejecutarme el código que
actualiza la base de datos.

"Insomnia" escribió en el mensaje
news:Lj%7b.2269113$
podrias meter tu site dentro de un frame general y q al cerrar este a


través
de java q cierre sesión
o como bien han dixo limitar el tiempo de la misma


"Jhonny Vargas P." escribió en el


mensaje
news:
> Hola,
>
> Es imposible saber exactamente la cantidad de usuarios activos, ya que,


el
> usuario puede cerrar el browser y nunca podrías controlar esto...


tampoco
> puedes controlar los apagados de PC en fin...
>
> A lo más puedes crear sesiones que duren un par de minutos de
inactividad...
>
>
>
> Saludos,
> Jhonny Vargas P. [MS MVP-ASP]
> Santiago de Chile
>
>
> "Perxurau" wrote in message
> news:#
> > Buenas.
> >
> > Estoy intentando controlar los usuarios registrados en una web que
se
> > encuentran actualmente activos, así como las sesiones que tiene
abioertas
> > cada uno.
> >
> > Cuando el usuario introduce su código y pasword guardo los datos en un
> tabla
> > acces, añadiendo uno al campo contador de ese usuario, solo hay un
> registro
> > por usuario.
> >
> > El problema lo tengo para restar datos al campo contador.
> >
> > Puse el siguiente código en el global.asa:
> > Sub Application_OnStart
> > Application("UserAct")=0
> > End Sub
> >
> > Sub Session_OnStart
> > session.timeout0
> > application.lock
> > Application("UserAct")= Application("UserAct")+1
> > application.unlock
> > End Sub
> >
> > Sub Session_OnEnd
> > application.lock
> > Application("UserAct")= Application("UserAct") - 1
> > application.unlock
> > dim Cn
> > dim sqltxt
> > set Cn=Server.CreateObject("ADODB.Connection")
> > Cn.Provider="Microsoft.Jet.OLEDB.4.0"
> > Cn.Open Server.MapPath("/datos.mdb")
> > sqltxt = "UPDATE SociosCon SET conexion = conexion - 1 WHERE Usuario
> '"
> > & Session("usuario") & "'"
> > Cn.Execute sqltxt
> > Cn.close
> > set Cn = nothing
> > End Sub
> > el control de los usuarios activos Application("UserAct") funciona
> > perfectamente, pero el acceso a la base de datos no funciona y no


acabo
de
> > ver la razon.
> > El código para restar en la base de datos lo probe en un archivo asp y
> > funciona, pero no lo hace al terminar la sesión ni por tiempo ni con
> > session.abandom, podría alguien indicarme cual es el problema, o si lo
> tiene
> > solucionado de alguna manera indicarmela.
> > Muchisimas gracias
> >
> >
> >
>
>


Respuesta Responder a este mensaje
#5 Jhonny Vargas P.
11/09/2003 - 17:13 | Informe spam
Hola,



Puedes hacer muchas cosas para abarcar todas las formas que el usuario pueda
abandonar el sitio, pero será imposible tenerlas todas... así que te
recomiendo que no te aflijas si no las encuentras ya que algunas son
imposibles, como las que te comenté anteriormente.



Saludos,
Jhonny Vargas P. [MS MVP-ASP]
Santiago de Chile

"Perxurau" wrote in message
news:
Me resulta imposible añadir frames en este proyecto.

Aunque imite el tiempo de la sesion sigue sin ejecutarme el código que
actualiza la base de datos.

"Insomnia" escribió en el mensaje
news:Lj%7b.2269113$
> podrias meter tu site dentro de un frame general y q al cerrar este a
través
> de java q cierre sesión
> o como bien han dixo limitar el tiempo de la misma
>
>
> "Jhonny Vargas P." escribió en el
mensaje
> news:
> > Hola,
> >
> > Es imposible saber exactamente la cantidad de usuarios activos, ya


que,
el
> > usuario puede cerrar el browser y nunca podrías controlar esto...
tampoco
> > puedes controlar los apagados de PC en fin...
> >
> > A lo más puedes crear sesiones que duren un par de minutos de
> inactividad...
> >
> >
> >
> > Saludos,
> > Jhonny Vargas P. [MS MVP-ASP]
> > Santiago de Chile
> >
> >
> > "Perxurau" wrote in message
> > news:#
> > > Buenas.
> > >
> > > Estoy intentando controlar los usuarios registrados en una web


que
> se
> > > encuentran actualmente activos, así como las sesiones que tiene
> abioertas
> > > cada uno.
> > >
> > > Cuando el usuario introduce su código y pasword guardo los datos en


un
> > tabla
> > > acces, añadiendo uno al campo contador de ese usuario, solo hay un
> > registro
> > > por usuario.
> > >
> > > El problema lo tengo para restar datos al campo contador.
> > >
> > > Puse el siguiente código en el global.asa:
> > > Sub Application_OnStart
> > > Application("UserAct")=0
> > > End Sub
> > >
> > > Sub Session_OnStart
> > > session.timeout0
> > > application.lock
> > > Application("UserAct")= Application("UserAct")+1
> > > application.unlock
> > > End Sub
> > >
> > > Sub Session_OnEnd
> > > application.lock
> > > Application("UserAct")= Application("UserAct") - 1
> > > application.unlock
> > > dim Cn
> > > dim sqltxt
> > > set Cn=Server.CreateObject("ADODB.Connection")
> > > Cn.Provider="Microsoft.Jet.OLEDB.4.0"
> > > Cn.Open Server.MapPath("/datos.mdb")
> > > sqltxt = "UPDATE SociosCon SET conexion = conexion - 1 WHERE


Usuario
> > > '"
> > > & Session("usuario") & "'"
> > > Cn.Execute sqltxt
> > > Cn.close
> > > set Cn = nothing
> > > End Sub
> > > el control de los usuarios activos Application("UserAct") funciona
> > > perfectamente, pero el acceso a la base de datos no funciona y no
acabo
> de
> > > ver la razon.
> > > El código para restar en la base de datos lo probe en un archivo asp


y
> > > funciona, pero no lo hace al terminar la sesión ni por tiempo ni


con
> > > session.abandom, podría alguien indicarme cual es el problema, o si


lo
> > tiene
> > > solucionado de alguna manera indicarmela.
> > > Muchisimas gracias
> > >
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida