......'验证密码资料 if 验证通过 then session("id")=rs("id") session("name")=rs("name") session("pass")=true end if rs.close application.lock updata.execute("update 数据库表 set online=0 where id="&session("id")) application.unlock conn.close response.redirect "index.asp"'跳转到虚拟社区首页在这个例子里: session.contents(1)的值等于session("id") session.contents(2)的值等于session("name") session.contents(3)的值等于session("pass") 如果赋值的顺序不同,以上的值也不同
======global.asa====放在服务器的根目录 ...... sub application_onstart set application("conn")=server......'将application("conn")设置为connection,具体的单词我忘了 application("database")=server.mappath("数据库的路径")'最好用绝对路径 end sub
sub application_OnEnd set application("conn")=nothing end sub sub session_OnStart end sub sub session_OnEnd if session.contents(3) then 'contents(3)相当于session("pass") application("conn").open...dbq="&application("database")'打开数据库,具体单词我也忘了 application.lock application("conn").execute("updata 数据库表 set online=0 where id="&session.contents(1)) '将用户表的online设置为否 application.unlock application("conn").close end if end sub
注意事项: 1,session变量的赋值顺序会影响contents数组值的顺序,contents(1)是指服务器对该用户分配的第一个SESSION变量,contents(2)为第二个。假如在本例中,用户最先调用的不是login.asp,而是default.asp,而在default.asp里又有如下语句: session("pass")=true session("id")=rs("id") session("name")=rs("name") 这样的话,contents数组的值就变为 session.contents(1)=session("pass")=true session.contents(2)=session("id") session.contents(3)=session("name") 2,在application和session的ONEND事件里是不允许使用response、server、request等等对象的,所以本例中要用到server.mappath等就必须在onstart事件里预先处理 3,假设上面application_onstart里取得数据库的实际路径那句用的不是绝对路径而是相对路径的话: application("database")=server.mappath("../database/test.mdb") 假设服务器的根目录是d:\inetpub\wwwroot\,本意是要指定数据库的地址是d:\inetpub\database\test.mdb,但实际情况是:假如第一个访问本服务器的用户最先访问的是www.e0759.com/borders/friends下的default.asp, application("database")的值就变为d:\inetpub\wwwroot\borders\database\ test.mdb。使用相对路径的话只有当第一个用户访问的是站点根目录的地址时才可以得到期望的结果。飞飞Asp技术乐,园所以在本例中要对进行一些处理: db=server.mappath("/")'读取根目录的实际目录d:\inetpub\wwwroot temp=instrrev(db,"\")'temp的值在此例是11 db=left(db,temp) 'db="d:\inetpub" db=db&"\database\test.mdb" 如果用户的数据库不是放在根目录之前的目录相对来说处理要简单一些,例如: application("db")=server.mappath("db/test.mdb") 本意是d:\inetpub\wwwroot\db\test.mdb,所以只要加个“/”就完成了 application("db")=server.mappath("/db/test.mdb")
|