当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP编程技术学习:Cookie集合

ASP
ASP用户登录模块的设计
ASP:一个网站空间多个域名访问
ASP教程:自己写的数据库操作类
ASP处理多关键词查询实例代码
ASP实例:幻灯片新闻代码
ASP实例:处理多关键词查询实例代码
快速掌握ASP+Access数据库的18条安全法则
快速掌握ASP连接11种数据库的常用语法
在ASP应用中如何限制同一表单被多次提交
ASP防止同时登陆的问题
关于Asp.net ajax下的异常处理
ASP生成html的新方法
ASP中的面向对象 类
ASP调用带参数存储过程的几种方式
asp实现批量录入数据的实现
用ASP调用SQL Server视图和存储过程
值得收藏的一些ASP代码
ASP 编程中 20 个非常有用的例子
每个ASP程序员必备的知识
flash结合asp制作出的显ip,版本,登陆时间,访问次数

ASP编程技术学习:Cookie集合


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-22   浏览: 226 ::
收藏到网摘: n/a

     Cookie是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个Web站点会话之间持久地保持数据。Request和Response对象都有一组Cookie。


  Request.cookie集合是一系列Cookie,从客户端与HTTP Request一起发送到Web服务器。反过来,如果你希望把Cookie发送到客户机,就可以使用Response.cookie

   1、ExpiresAbsolute属性

  该属性可以赋一个日期,过了这个日期Cookie就不能再被使用了。通过给Expires属性赋一个过期的日期,就可以删除Cookie。如:

<%Response.cookies("passtime").
expiresAbsolute="1/1/99"%>

  2、Domain属性

  该属性定义Cookie要传送的唯一域。如:Cookie只传送给Microsoft的人,则可以使用以下代码。

<%Response.Cookies("domain").Domain="www.microsoft.com"%>

  3、ASP用来写入Cookie即向客户机发送Cookie的语法如下: 

  Response.Cookie("Cookie名").[("键名").属性]=内容

  如果某个ASP文件要创建一个Cookie,则下面的代码可以放在ASP文件的第一个<html>之前,以避免产生错误.

<%Response.Cookies("CookieName")="NewCookie" %>
<html>
......
</html>

  4、同样ASP用Request对象的Cookies集合来读取Cookie,如:

<%Response.write Request.Cookies("CookieName")%>

  下面以一个完整的例子来说明Cookie:

<%
dim Num
Num=Request.Cookies("Visit_num")
if Num>0 then
Num=Num+1
Response.write "您已是第" & Num & "次访问本站点了。"
else
Response.write "欢迎您首次访问本站。"
Num=1
end if
Response.Cookies("Visit_num")=Num
%>

  在该例子中,首先读取Cookies变量Visit_num,看用户端计算机是否保存有Cookies变量。如果有该变量,则说明用户已经访问过该页面,同时输入出访问次数。如果用户是首次访问该页面,则其计算机内不会有Cookies变量,程序会显示“欢迎”字样,然后将Cookies变量Visit_num存到用户计算机中,以便该用户下一次访问该页面时给出“访问的次数”信息。

  5、Cookie字典

  有时在一个页面中可能需要定义很多个Cookies变量,为了更好地管理它,在Cookies组件中常引入一人的概念“子键”。引用它的语法如下:

  Request.Cookies("变更名")("子键名")  

  如下面的Cookie创建一个名为"Dictionary"的字典,其中保存了三个键值:

<%
Response.Cookie("info")("Myname")="jeff"
Response.Cookie("info")("Gender")="male"
Response.Cookie("info")("Myheight")="172"
%>

  事实上客户机上的Cookie字典是以字符串的形式存在:

info=Myname=jeff&Gender=male&Myheight=172

  如果用户没有指定“子键”名而直接引用Cookies变量,将会返回一个包含所有的“子键”名及值的字符串。例如上面这个例子包含三个“子键”:"Myname"、"Gender"和"Myheight",当用户没有指定其“子键”而直接通过Request.Cookies("info")来引用时,则会得到下列字符串:

info=Myname=jeff&Gender=male&Myheight=172

  如果要把Cookie中读取的所有数据,可以用下面的代码得到:

<%
For each cookie in Request.Cookies
if Not cookie.HasKeys then
Response.write cookie & "=" & Request.Cookies(cookie)
Else
for each key in Request.Cookies(cookie)
Response.write cookie&"("&key&")"&"="& Request.Cookies(cookie)(key)
next
end if
next
%>

  或者:

<%
'Declare counter variables
Dim Cookie, Subkey
'Display the entire cookie collection.
For Each Cookie in Request.Cookies
Response.Write Cookie
If Request.Cookies(Cookie).HasKeys Then
'Display the subkeys
For Each Subkey in Request.Cookies(Cookie)
Response.Write Subkey & "=" & Request.Cookies(Cookie)(Subkey) & "<BR>"
Next
Else
Response.Write ":No subkeys in this cookie<BR>"
End If
Next
%>