asp开发中经常使用session变量,但在使用之前必须判断客户端浏览器支持接受cookies。当asp开始一个session,它将送一个cookies到客户端并带一个标识(sessionid),通过这个标识,asp以后将可以确认session并且因此来保持状态。所以,当你使用session变量前,你需要确认cookies是否被接受。
方法一:
无论何时你在两页之间,有一个非常简单可靠的方法:请求一个sessionid在第一页,传递它到下一页。与这一页请求到的sessionid比较。相同说明客户端浏览器接受cookies;不同则不接受。很简单吧。
比如你可以在第一页中放一个(hidden field),并把sessionid写入它。提交后,从页面数据中取出sessionid.像这样:
<form name="form1" method="post" action="sessions2.asp"> username:<input name="username"><br> password:<input name="userpassword"> <input type="hidden" name="thesessionid" value="<%=session.sessionid%>"><br> <input type="submit" value="submit"> </form>(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
在第二页中我们来判断sessionid是否相同。
<% dim thesessionid thesessionid = request.form("thesessionid") if thesessionid = session.sessionid then' 当二者相等时,则cookie功能开启 response.write "cookie已开启" else '若二者相等时,则cookie功能关闭 response.write "cookie没有开启!" end if %>(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
方法二:
也可用这种方法,首先在一个页面里写入一个cookie,如: <%response.cookies("status")="onoroff"%>
在第二页里读出此cookie:
<% if request.cookies("status")="" then '当cookies("status")里没有值时,则cookie功能没有开启 response.write "cookie没有开启!" else '当cookies("status")里有值时,则cookie功能开启 response.write "cookie已开启" end if %>(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
这两种方法判断asp的cookies的方法,很容易吧?