一、Cooies集合是Response对象和Request对象共有的一项经常用到的集合。用户通过HTTP标头访问一个主页时,每次都要重新开始。因此,如果要判断某个用户是否曾经进入本网站,那么就可以使用Cookies了。当用户第一次访问此网站时,可以利用Response对象的Cookies集合将数据存储到客户端计算机,当用户再一次访问此网站时,则可以利用Request对象的Cookies集合取得相关信息。
Cookies存放在浏览器端的本机磁盘上,而不是存放在服务器端。通常,Cookies包含用户的有关信息(如身份识别号码,密码、用户在Web站点上购物的方式或用户访问该站点的次数等)。无论何时用户连接到服务器,Web站点都可以访问Cookies信息。
注解:什么是HTTP标头?当客户端浏览器向服务器发送页面请求时,除了将所请求页面的URL地址传送给服务器之外,也将浏览器的类型、版本等信息一起传送到服务器,这些信息统称为请求标头;当服务器响应客户端浏览器的请求时,除了所请求的文件传递给客户端之外,也将该文件的大小、日期等信息一起传送给客户端,这些信息称为响应标头,请求标头和响应标头统称为HTTP标头。
二、利用Response对象的Cookies集合将数据存储到客户端的计算机上的语法格式如下:
Response.Cookies(Cookies名)[(Key)]|.属性]=值
注解:
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)Key 为可选参数,如指定Key ,则 Cookies 就是一个字典,该参数值将被设置为值。并可以在以后的接收中使用。 索引值用于检索多个变量值中的某一个; 属性是指Cookies的属性。 Cookies默认的生命周期起始于它被写入浏览器端的那一刻,结束于浏览器结束执行时。如果要设置Cookise的存在期限,可经使用Response.Cookies(name).Expries属性。当存在期限已满时,Cookies将自动从浏览器的本机磁盘上删除。 向客户端写入Cookie 值时应注意,由于Cookie 是作为 HTTP 传输的一部分发送给客户端的,所以设置 Cooie 的代码必须放在标记的前面。
三、下面是一段判断用户登录时,其用户名和密码是否输入正确的简单程序。
我在用户登录页面中创建了一个名为UserName的Cookies,通过UserName和password这两个Key值来保存用户名和用户密码。其代码如下: (文件名:4-2a1.asp)
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)%Response.Cookies("User")("UserName")="含笑" '创建一个名为"User"的Cookies中UserName"的值。Response.Cookies("User")("password")="111111" '创建一个名为User"的Cookies中password"的值。Response.Cookies("UserName").Expires=date()+1Response.Cookies("password").Expires=date()+1%htmlheadtitle用户个人资料/title/headbodycenterform name="Form1" method="get" action="4-2a.asp"p用户姓名:input name="UserName1" type="text"p密码:input name="password1" type="password" input Type="submit" name="btnSubmit" value="提交" input type="reset" name="reset" value="重写"/center/form/body/head
通过Request对象的Cookies集合读取Cookies中的值,通过表单传递过来的用户名和密码与其进行比较,如都一样,则提示:您已登录成功。,否则返回登录页面。其代码如下: (文件名:4-2a2.asp)
% @ language="VBScript" %% Response.Buffer=true %htmlheadtitle读写Cookies示例/title/headbodycenter%dim UserName,password,a,bUserName=Request.Querystring("UserName1") '将名为"UserName1"控件的值赋给变量UserName。password=Request.Querystring("password1") '将名为"password1"控件的值赋给变量password。a=Request.Cookies("User")("UserName") '读取Cookies中UserName的值,并将其赋给变量a。b=Request.Cookies("User")("password") '读取Cookies中password的值,并将其赋给变量b。%font size='7' color='red' face='华文彩云'%if UserName=a and password=b then '如果在UserName控件中输入的值等于Cookies中UswrName的值,而且在password控件中输入的值等于Cookies中password的值,则提示您已登录成功1response.write "您已登录成功!"elseresponse.Redirect "4-2a1.asp" '否则,返回到用户信息输入页面。end if%/fonthr size="2" width="70%" color="#cc9999"%Response.Cookies("User").Expires=date()+100 '设置Cookies的有效期是100天。%a href="4-2a1.asp"返回上一页/a***||***a href="4-2-2.asp"返回教材/a/center/body/html
注:执行上述 ASP 程序后,可以在客户端磁盘上找到写入的 Cookie 文件。Cookie 文件的存储位置与所使用的操作系统有关:如果使用的是 Windows 98Me,可以在 WindowsCookies 文件夹中找到该文件;如果使用的是 W in200/XP系统,Cookies文件存放在C:Documents asn Settings 中该用户目录上的 Cookies 子目录中。