[设为首页] [加入收藏]    
提 示: 站长书库上线了。 站长招聘上人才沃
站长首页  |  站长下载  |  站长工具
站长素材  |  广告代码  |  网页特效
站长书库  |  站长招聘  |  建站软件
  您当前的位置: 首页 > 网络编程 > ASP教程 >
Cookies

Cookies是服务器端和客户端传递的http头部信息,这些信息被保存成文本格式的小文件,存贮在客户端的浏览器或硬盘上,客户可以用浏览器的工具对Cookie进行设置,以便决定是否使用它。

Cookies的存在形式有两种,一种是只在浏览器打开时存在,浏览器关闭后就消失了,这种方式的叫会话Cookies,另一种是把Cookies写入客户的硬盘中叫永久性Cookies当然这种永久是相对的,如果客户使用浏览器Internet选项中的工具删除它,或者硬盘被格式化了,保存的Cookies就没了,要应用Cookies首先是设置一个Cookies并把它写入客户的硬盘中。

一、设置Cookies

语法;

Response.Cookies("Cookies_name")[("key")|.property]=value

参数:

Cookie_name 为Cookies变量的名称

key 为可选参数,用字典把key翻译成中文则为"关键字",如果指定了关键字,则Cookies就是一个集合,并将value的值赋给这个关键字;

value为赋给Cookies_name的值

property为key的属性,指定Cookies自身的某些信息;

property属性的取值:

1 Expires 指定 cookies 的过期时间

2 Domain 指定cookies 发送到的该网域,默认情况下,cookies设置为产生它的网站;

3 Path 指定cookies送到的路径

二、访问Cookies

语法:

Request.Cookies("Cookie_name")[("key")|.property]

示例1

查看自己电脑中的Cookies,对于windwos xp参考下面路径找到Cookies文件夹,打开后我们就会看到很多Cookies文本文件,观察完毕后使用浏览器的工具删除之,然后我们去登陆任何一个论坛,在去看看Cookies文件,是不是多了一些文本文件;

C:\Documents and Settings\电脑用户名\Cookies

示例 sl8-1.asp

<%
'写入Cookies
Response.Cookies("user_name")="longka"
Response.Cookies("user_name").expires=#2006-5-1#
%>
<html>
<head><title>asp简单程序</title></head>
<body>
<p>写入Cookies</p>
<p></p>
</body>
</html>

示例解读:

1、第一行设置了一个变量名为user_name的Cookies,并且给他赋值为字符串longka

2、第二行使用属性Expires指定了Cookies的有效期,如果我们不指定有效期则这个Cookies就不会写入客户的硬盘,此时由第一句创建的Cookies只是临时保存在客户的浏览器中,当浏览器关闭后,该Cookies就消失了,叫做会话Cookies

3、Response.Cookies方法必须用在所有html元素的最前面,如果你想在文件的任意地方使用它,则必须在文件的开始处加<% Response.Buffer=true %>,首先把数据先保存到缓冲区,这和引导客户浏览器到另一个url的Response.redirect对象方法是类似的;

4、在自己的电脑中看看我们写入的Cookies文件

示例 sl8-2.asp

<html>
<head><title>asp简单程序</title></head>
<body>
取回Cookies<br>
<%
'取回Cookies
dim a
a=request.cookies("user_name")
response.write("你写入的Cookies为:"&a)
%>
</body>
</html>

示例解读:

使用request.cookies方法,可以取回使用Response.Cookies方法写入客户硬盘中的信息,request.cookies方法可以放在html的<body>锻的任何位置;

示例 sl8-3-1.asp

<% Response.Buffer=true %>
<html>
<head><title>asp简单程序</title></head>
<body>
写入Cookies
<%
'写入Cookies
Response.Cookies("my_name")="aa"
Response.Cookies("you_name")="bb"
Response.Cookies("my_name").expires=#2020-5-1#
Response.Cookies("you_name").expires=#2020-5-1#
%>
</body>
</html>

示例 sl8-3-2.asp

<html>
<head><title>asp简单程序</title></head>
<body>
取回Cookies<br>
<%
'取回Cookies
dim a b
a=request.cookies("my_name")
b=request.cookies("you_name")
response.write("你写入的Cookies为:"&a)
response.write("你写入的Cookies为:"&b)
%>
</body>
</html>

示例解读;

示例sl8-3对两个cookies进行了写入和取回操作,经测试结果虽然是可行的,但是在asp中通常不这样进行操作,而是使用关键字设置和取回多个cookies,从下面的示例中我们可以看到要方便许多,特别是取回多个cookies时;

示例 sl8-4-1.asp

<% Response.Buffer=true %>
<html>
<head><title>asp简单程序</title></head>
<body>
带关键字的Cookies写入方法
<%
'带关键字的Cookies
Response.Cookies("Cookname")("Cookname1")="aa1"
Response.Cookies("Cookname")("Cookname2")="aa2"
Response.Cookies("Cookname")("Cookname3")="aa3"
Response.Cookies("Cookname").expires=#2008-5-1#
%>
</body>
</html>

示例 sl8-4-2.asp

<html>
<head><title>asp简单程序</title></head>
<body>
返回带关键字的Cookies<br>
<%
dim Cookname
Cookname=request.cookies("Cookname")
response.write("你写入的Cookies为:"&Cookname)
%>
</body>
</html>

示例 sl8-5.asp

<%
dim num
num=request.cookies("ta_nam")
if num > "0" then
num=num+1
Response.write("你现在是第"&num&"次访问这里了")
else
Response.write("欢迎你首次访问这里")
num=1
end if
response.cookies("ta_nam")=num
response.cookies("ta_nam").expires=#2020-1-1#
%>
 

示例解读:

定义一个变量num用来保存获取的名为ta_nam的cookies,当你首次访问时ta_nam尚未写入硬盘,num为空值,所以执行else后面的语句输出-欢迎你首次访问这里,输出完毕后继续向下执行语句就会把response.cookies方法的ta_nam变量,写到客户硬盘中了,以后再次访问,num总是会大于0,故执行num=num+1,计算出客户访问的次数;

    关于我们 - 联系我们 - 广告服务 - 网站地图 - 版权声明 - 人才招聘