添加收藏
 系统管理
 联系方式
  汉南在线网页设计Asp动态程序

ASP内建的SESSION对象
作  者:汉南居士
关键字:ASP对象与组件



Session对象,前面我们已经提过了。他可以使不同的用户存储自己的信息,基本的形式为:Session(“name”)=变量,每当你启动该程序一次,就创建了一个SESSION对象, 两个不同的进程不能共享同一个Session变量(APPLICATION就可以),Session对象对 开发WEB应用起到了非常重要的作用。

来我们先看一下以下的例子吧! 点击这里测试一下。

源代码如下: login.asp:

<%@ Language=VBScript %>

<HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> </HEAD>

<BODY>

<% if Request.QueryString("loginout")="TRUE" then Session.Abandon() end if %>

<FORM action="login.asp" method=POST id=form1 name=form1>

姓名:<INPUT type="text" id=txtxm name=txtxm><BR>

密码:<INPUT type="text" id=txtmm name=txtmm><BR>

<INPUT type="submit" value="提交" id=submit1 name=submit1>

</FORM>

<% if Request.Form("txtxm")<>"" then Session("name")=Request.Form("txtxm") Session("pw")=Request.Form("txtmm") end if %>

<HR>

<a href="info.asp">显示你的资料</a>

</BODY> </HTML>

 

info.asp:

<%@ Language=VBScript %>

<% if session("name")="" then Response.Redirect("login.asp") end if %>

<HTML>

<HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> </HEAD>

<BODY> <% Response.Write("你的姓名:" & session("name") & "<BR>")

Response.Write("你的密码:" & session("pw") & "<BR>") %>

<a href="login.asp?loginout=TRUE">退出</a>

</BODY> </HTML>

输入姓名和密码进行提交后,再按“显示你的资料”,便能进入下一页面显示你的相关资料, 当你试图不进行提交,直接按“显示你的资料”,程序禁止你进入下一界面,其实就是通 过以下的代码进行检测 if session("name")="" then Response.Redirect("login.asp") end if

其意思是:如果 session("name")为空(也就是你不进行提交),就执行 Response.Redirect("login.asp") 语句,该语句就是返回login.asp.当你进行提交时, session("name")就赋了值,兰色代码部分就是实现把你输入的名字和密码赋给session("name") 和 session("pw"),session("name")不为空,就跳过 Response.Redirect("login.asp") 语句, 直接显示内容。看到下面的“退出”了吧,如果你不按退出,而直接返回到login界面,再按 “显示你的资料”,你仍然可以进入下一界面,为什么呢?因为Session("name")并没有消失, 要使Session("name")消失,只有两个方法:

1.等待超时,Session预设超时(timeout)值为20分钟,你可以使用session.Timeout=60来改变他的 超时值,也就是说,如果你不改变超时值,session("name")将会在最后request请求后20分钟,将 会为结束(消失),当你再按“显示你的资料”时,就无法进去了。

2.第二种方法是使用Session的Abandon()方法,该方法就是通知服务器结束Session对象,因为 服务器无法判断你的BROWSER什么时候结束Session对象,所以必须通过该方法通知服务器结束 session对象。本文就是使用该方法在“退出”时结束该Session对象,也就是session("name")的值 就不存在了。同样,当你再按“显示你的资料”时,也就无法进去了。 最后,当你成果提交后,我们就使用以下两句语句打印Session("name")和 Session("pw"): Response.Write("你的姓名:" & session("name") & "<BR>") Response.Write("你的密码:" & session("pw") & "<BR>") Session对象可以让你在同一个进程中跨页面的使用任何变量。当然,你也可以使用Session对象来 存储对象,如: set session("obj")=server.createobject("progid") 如果你要频繁地使用创建的对象,使用以上语句就可以提高效率了。 但值得注意的是,以上的语句随时存在超时问题(当你试图使用一个不存在的对象时,你能想象到 什么样的后果吗?),所以使用session对象的时候要小心谨慎呀。

注意:Response.Redirect("login.asp")语句必须放在程序的最前面,否则,就会提示错误。



来源:互联网
阅读:298
日期:2004-12-9

【 双击滚屏 】 【 推荐朋友 】 【 收藏 】 【 打印 】 【 关闭 】 【 字体: 】 
上一篇:ASP内建的SERVER对象
下一篇:ASP内建的APPLICATION对象

  >> 相关文章
 
  ·ASP内建的SERVER对象
  ·ASP内建的对象
  ·学习使用ASP对象和组件
  ·ASP之对象总结

5.12汶川大地震遇难同胞默哀 | 汉南在线总站 | 免费电影 | BT电影下载 | 东莞信息网 | 流行购商城

授权使用:汉南在线 http://hnzx.hzwz.net/
经营许可证:陕ICP备05000109号 Powered by:汉南在线
Copyright (c) 2002-2007 汉南在线. All Rights Reserved .