session比较简单,不是很好控制!
建议用cookies来做!!!!
我来也~~~~
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")语句必须放在程序的最前面,否则,就会提示错误。