ASP编程入门(八):内置对象会话
除了对象发送(响应),接收和处理数据(请求)和访问服务器(服务器),还有一些非常实用的物件,马克活跃的服务器应用程序(应用程序)和单用户信息(会话)在ASP的对象。会话对象
在ASP的使用中,这个对象占相当大的比例。由于Web是一个无状态的程序,所以不可能知道用户的浏览状态。在ASP,用户的私有数据变量通过会话对象记录,当用户再次请求服务器时,它被用作确认。当用户在程序的Web页面之间跳转时,会话对象中的变量不会消失。
这些都是非常重要的功能,尤其是有会员系统的系统,就像登录帐户、会员的时间和状态,以及大量记录的实时数据,如购物系统、用户购物篮等,属于用户的私人需求。开发人员通常使用会话记录处理。
ASP的会话是由cookie组成的,服务器通过cookie的方式将会话中记录的所有数据传递给用户的浏览器,通常浏览器会保存这些cookie。当用户选择链接和再与服务器连接,浏览器会把这些饼干回服务器进行处理:这是会议的工作原理。因此,会话状态的会话cookie,浏览器只支持保留,如果客户端的Cookie选项关闭会话,它不能扮演一个角色。
1。session.sessionid
SessionID属性返回用户的会话标识。创建会话时,服务器为每个会话生成一个单独的身份,和会话的身份返回一个长整形数据类型。在许多情况下,这可以用于网页登记统计。
这个属性的使用可以解决用户控制问题。这个问题的主要功能是,对于一个网站的模块,当一个成员登录这个模块后,另一个同名的人不能登录,浏览模块:也就是说一个成员名称,同时一个人只能浏览这个模块。
控制是通过使用成员的名字了(假定为用户名,独特)和sessionID。当一个会员登录,给成员一个会话记录登录状态,如会话(状态)=登录时他想浏览该模块,他首先决定是否登录。如果他已经表示,他将决定他的SessionID是作为数据库记录的相同,如果是不同的,它不能被访问。
这样,当另一个用户登录同一成员的名字,新的SessionID在数据库中记录的。前者在访问模块时不能通过检查,这实现了一个成员名称,只有一个人可以同时浏览一个模块,这个功能对一些收费站点起到非常特殊的作用,从而阻止了会员名称浏览很多人,保护了公司的利益。
它是惟一生成的ID标识,可以刷新和调试。
二、Session.TimeOut
本届会议的最大间隔时间设置此属性。间隔时间指的是时间,客户端请求的Web服务器从最后一次的下一次请求的Web服务器。它可以理解,会话将被终止,如果用户不刷新或请求一个网页内的超时时间限制,超时属性是一分钟,指定应用程序的会话对象的超时时间限制,以20分钟一般默认。在公共场所,如网吧登录进入个人信息页面,忘了关窗户是很重要的(至少还可以设置时间短)。
上述的SessionID,超时属于两属性的会话对象,然后看一个对象的方法,放弃
三,会议,放弃
此方法是会话对象清除会话对象的唯一方法,该会话对象用于消除用户的会话对象,并释放它们所解释的资源。当然,如果您没有显式地调用放弃方法,会话结束后,服务器也将删除对象并释放资源。
以下两页用于理解会话对象和放弃方法的使用。
1, login.asp
<
是的loginout URL变量的值为true,如果这是真的,执行会议。放弃()。
如果Request.QueryString(loginout )=真正的然后
会话:放弃()
最后如果
只有在提取的对象不是空的前提下单击提交按钮时,才建立会话对象。
submitname =要求表单(submit1 )
如果submitname = 提交然后
如果请求。形式(名称)<>和要求。形式(密码)< >然后
会议(名称)=要求表单(名称)
会议(私服)=要求表单(密码)
最后如果
最后如果
%>
<
如果会话(名称)是不空的,会话的值(名称)显示和链接到info.asp了。
如果会话(),则
response.write(你的名字是:会议(名称))
response.write(显示信息)
其他的
否则,即会话(name)是空的,窗体将显示为进入会话的建立平台。
%>
姓名 uff1a
uff1a密码
显示你的信息
注意,当会话(名称)是空的,不是空的,你做一个链接到info.asp,如何调试结果,看的info.asp内容。
2、info.asp
<
如果会话对象是空的,跳到login.asp
如果会话(),则
响应。重定向()
否则,将显示个人信息。
其他的
响应。写(你的名字会话())
响应。写入(您的密码())
最后如果
%>
返回
退出
可以看出,该info.asp页面显示的内容实际上是必需的,是要有一个会议的价值,所以,具体信息可以显示出来。这是在登录系统使用。
你能想象login.asp作为一个登录窗口,当然我这个比较简单(只要在会话生产输入用户名和密码),实际的情况是:输入的用户名和密码与数据库协议确定的名称和密码,如果生成会话吻合但正确。info.asp页的作用只是作为一个权限的页面,因为会话需要进入页面和会话产生确保名称密码是正确的。
所以当窗的形式开始出现,你不能打开login.asp链接,只有当窗体提交会议可以进入。这是登录系统的本质,你知道吗:)
四、session_onstart
session_onstart属于一类会话对象的事件,它发生在一个新的会话是由服务器创建。服务器进程的脚本执行请求的页面之前,session_onstart事件设置会话变量的最佳时机,因为他们是在访问任何网页。
对象的常规触发session_onstart事件每一次开始,然后运行的session_onstart事件的处理,当服务器从应用程序的URL接收HTTP请求,触发事件和会话对象设置。
当然,当它涉及到session_onstart事件,我们不能谈论一个文件Global.asa(P.S:我打算把文件一起聊天程序,所以我不会现在太多的解释)。
具体用法是公开的,写在Global.asa文件
…
子session_onstart
…
端子
…
五、session_onend
同时,我们知道,这是另一种会话对象的事件。当会话。放弃的方法叫做或超时的时间没有刷新,这引发了session_onend事件然后执行脚本内。同一具体的用法是在Global.asa文件主题详细,可后来写的。简单的语法如下所示:
…
子session_onend
…
端子
…
最后,我不知道你是否曾经玩过这样的程序:这是一个非常烦人的页面,你永远也不能关闭它。
只做程序调试,不要取笑别人。
下面的文件保存为bug.html
{所有选择复制提示:您可以首先修改部分代码,然后单击run
发现文件没有关闭吗(当然,你必须关掉,改变源代码)
现在的要求是:计算关闭的次数,如果超过几次就可以关机,那么下面将用于会话
下面的文件保存为bug.asp
Self.close()
哦,当你关闭三次时,窗口不会再弹出。
以上是会话对象的系统学习。