¿Cuánto tiempo has estado en la página?

Tengo una página asp, que en cuanto se entra, se crea un registro en una bdd con la ip, el nombre del navegador, idioma, bueno y muchos datos más de interés, y ademas la fecha en la que entra. Este campo se llama desde. En cuanto entra, se pone en desde el valor de now(). Luego he creado un sub que escribe en la bdd en el campo hasta el valor de now() y en el campo diferencia, la diferencia de segundos entre desde y hasta. Eso ya lo ves en el código:
<%
dim ip
ip = request.servervariables("remote_host")
sub cerrar()
strsql = "SELECT * FROM visitas where ip='"&ip&"'"
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&server.mappath("general/visitas.mdb")
Set RSvisitas = Server.CreateObject("ADODB.Recordset")
RSvisitas.Open strSQL, oConn,2,2
rsvisitas("hasta")=now()
rsvisitas("diferencia")=datediff(s,rsvisitas("desde"),rsvisitas("hasta"))
rsvisitas.close
end sub
%>
Luego en el body pongo onunload="cerrar()", pero no me funciona. ¿Cuál es la forma correcta de que funcione?
Muchas gracias.

1 Respuesta

Respuesta
1
No te funciona por que el código ASP ha de ejecutarse en el servidor para poder abrir y modificar la base de datos, y tu intentas que se ejecute cuando ya lo tiene el explorador. Pon ese código en una página aparte, y cárgala cuando se produzca el evento onunload. Por ejemplo, abre una pequeña ventana para "despedir" al usuario, y aprovecha para poner ahí el código ASP.
Si no me he explicado correctamente, dímelo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas