asp判断客户端Cookies是否处于开启状态

2012 年 9 月 7 日7630

asp开发中经常使用session变量,但在使用之前必须判断客户端浏览器支持接受cookies。当asp开始一个session,它将送一个cookies到客户端并带一个标识(sessionid),通过这个标识,asp以后将可以确认session并且因此来保持状态。所以,当你使用session变量前,你需要确认cookies是否被接受。


方法一:


无论何时你在两页之间,有一个非常简单可靠的方法:请求一个sessionid在第一页,传递它到下一页。与这一页请求到的sessionid比较。相同说明客户端浏览器接受cookies;不同则不接受。很简单吧。


比如你可以在第一页中放一个(hidden field),并把sessionid写入它。提交后,从页面数据中取出sessionid.像这样:


view sourceprint?1 <form method="post" action="sessions2.asp">


2 username:<input><br>


3 password:<input>


4 <input type="hidden" value="<%=session.sessionid%>"><br>


5 <input type="submit" value="submit">


6 </form>


(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)


在第二页中我们来判断sessionid是否相同。


view sourceprint?1 <%


2 dim thesessionid


3 thesessionid = request.form("thesessionid")


4 if thesessionid = session.sessionid then' 当二者相等时,则cookie功能开


5 response.write "cookie已开"


6 else '若二者相等时,则cookie功能关闭


7 response.write "cookie没有开!"


8 end if


9 %>


方法二:


也可用这种方法,首先在一个页面里写入一个cookie,如: <%response.cookies("status")="onoroff"%>


在第二页里读出此cookie:


view sourceprint?1 <%


2 if request.cookies("status")="" then '当cookies("status")里没有值时,则cookie功能没有开启


3 response.write "cookie没有开启!"


4 else '当cookies("status")里有值时,则cookie功能开启


5 response.write "cookie已开启"


6 end if


7 %>

【责编:cc】

0 0