一个关于ASP的问题(100分)

  • 主题发起人 主题发起人 cnbobo
  • 开始时间 开始时间
C

cnbobo

Unregistered / Unconfirmed
GUEST, unregistred user!
在数据库中有个字段判断用户是否登录,当用户登录字段值为1,其它电脑就不能登录,
当用户点退出登录字段值为0,其它电脑就能登录,
现在有个问题,当用户没点退出登录重启电脑后,如何把字段值修改为0.
 
不要用数据库保存,直接用Session 。
 
Session是什么,能否说的详细点
 
会话过程
 
我建议你还是看一下asp一些基础的书,session是asp常用到的,如果你连这都不懂那就不用玩asp了.
 
我来给你完整的解决办法:
1:
Sub Session_OnStart
Session.Timeout=2
End Sub

Sub Session_OnEnd
'用户离开后置为离线状态
'在这里写用户关闭IE后的Update数据库操作,代码省略
Session.abandon
End Sub

在网站根目录下新建一个文件global.asa,把这个代码放带glabal.asa里
最后用Frame来构架你的网站,关于Frame的用法去研究htm
2:
<html>
<head>
<title>XXXXX</title>
<meta http-equiv="Content-Type" content="text/html;
charset=gb2312">
</head>
<frameset cols="124,*" frameborder="NO" border="0" framespacing="0" rows="*">
<frameset rows="1,467" cols="*">
<frame src="lTop.asp">//请注意这里写保持活动的页面地址
<frame name="leftFrame" scrolling=yes noresize src="left.asp">
</frameset>
<frame name="mainFrame" src="welcome.asp">
</frameset>
<noframes>
<body bgcolor="#FFFFFF" text="#000000">
</body>
</noframes>
</html>
3:lTop.asp的内容:
<html>
<head>
<title>刷新页面</title>
<meta http-equiv="refresh" content="60">//这里的作用是每隔一分钟自动刷新
</head>
</html>
原理:lTop.asp每隔60秒刷新浏览器,保持用户连接不超时,当用户关闭IE后,glabal.asa里的代码会将数据库标志更改:1---->0
有不明白的给我mail吧,mycsz@163.com
 
同意csz说的,使用Session
 
单单session变量能解决其他电脑不能登录的问题吗?
我觉得要用application变量,定义一个application的变量数组(就好像江湖聊天室那样),然后结合session变量实现。
 
限制其他电脑登录,最好的办法就是写数据库标志
江湖聊天室肯定是写数据库的,要是不小心掉线了,
系统会不让你登录,因为这时候你登录的session还没超时,
所以江湖都有个复活功能,输入用户名密码后杀掉已经掉线的session
如果用application的话其实会占用更多的服务器资源
 
我记得好像是application("online"),你还记得登录界面上的那个在线用户清单吗?,他就是根据applciation得到,不是在数据库中写标志的,至少我编写的那个版本不是,现在的江湖不知道是不是。。。,
application是占系统资源,但区区几个用户能有几个啊,100个用户也占不了几个字节吧
 
迈克老狼说得也是
写数据库的弊端在于:如果服务器突然停电什么的,数据库标志就不能自动修改了
在线人数也可以放在数组里,再用application来保存
不知道asp有没有像jsp那样针对Session的监视器?
 
这个没听说过,asp中session应该是利用客户端的cookie吧,。。。
 

session不可以的,用application
找个计数器的例子看看吧。asp基础来的。
 
我用了application("user")=rs(userid)
当第一次用abc登录,另一台电脑不能用abc登录。可是另一台电脑用其它用户名登录
后在退出就可用abc登录了。
如何才能记住每台电脑application("user")=rs(userid)的值。关闭浏览器后
application("user")=“”。
 
不用数据库用application也可以,用我说的方法,上面有代码
楼主你的asp基础不太好啊,多看看书:)
 
csz我实在是看不懂。ASP我刚开始,书有,也看不懂。
请帮帮忙[:D]
 
各位说得足够了[8D]
 
看不懂就不要学了哦[^]
 
不懂才学啊
 
后退
顶部