毕业设计,BBS论坛制作,急 ~~在线等

来源:百度知道 编辑:UC知道 时间:2024/06/08 20:12:11
现在要解决的问题 :

如何利用session_OnEnd实现,当用户浏览的页面超时时,即session会话超时的时候,我想在这里写一个过程。实现将数据库中,用户表中的status字段(表示是否在线)中的值改为0(离线)。请问如何实现?

网上搜到的相关代码如下:我改了下,不能实现我要的功能:(高手看看错在哪,或者,提 出更好的方法)

<script LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStart

set application("conn")=Server.CreateObject("ADODB.Connection")

application("db")=Server.MapPath("db\bbs.mdb") '此处最好使用绝对路径\bbs.mdb,下文有详细介绍

End Sub

sub Application_OnEnd

set application("conn")=nothing

End Sub

Sub Session_OnStart

End Sub

Sub Session_OnEnd

application("conn").open ="driver={Microsoft Access Driver (*.mdb)};dbq="&application("db")

application.lock

application("conn").Execute ("update user set stat

这个我的确不懂,不过希望楼主能解决这些问题,不过还是自己通过平时的学习中积累出来只是来解决比较好!

用ajax方式掉一个服务端的函数
把改数据库的事放在那个服务器端的函数就行了!

Sub Session_OnEnd
只要在这里实现将数据库的STATUS设置为0的代码就可以了
SQL 语句大概类似这样的:“update 表 set status=0 where ID="+session["userID"]+"”
End Sub

楼主呀~

我看了下你发的global.asa代码,应该没啥问题。

问题有两点,关键session.Contents("id")这个session是否是存放在线用户的session值,还有这个值的数值类型问题。

如果他是数字的,那你的SQL语句是正确的,如果是字符型你的SQL要改成
application("conn").Execute ("update user set status=0 where id='"&session.contents("id")&"'")

说是在的,我不太懂这些,但是,你在这里想解决这些问题是不太可能的

不懂