当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP基础教程之ASP程序对Cookie的处理

ASP
对连串英文自动换行的解决方法 IE5.5
怎样写你自己的EMAIL组件(原理)
ASP中有关timeout超时的体会
用ASP实现从SQL Server导出数据到Access
ASP向NT域中加一个用户
ASP乱码的解决方法
关于 aspsmartupload 注册问题
利用XML不离开页面刷新数据
IIS 处理 SEARCH 请求漏洞
不用组件实现上载功能(1)
不用组件实现上载功能(2)
在网页中实现OICQ里的头像选择的下拉框
仅用xsl和asp实现分页功能
如何使用context()方法将数据置入表格(XML)
利用ASP从远程服务器上接收XML数据
将数据库里面的内容生成EXCEL
怎样在ASP里面创建统计图表
加密你的Access数据库
利用global.asp定时执行ASP
加密QueryString数据

ASP基础教程之ASP程序对Cookie的处理


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

cookie常用来对用户进行识别。

实例:

以下为引用的内容:

<%
dim numvisits
response.cookies("NumVisits").Expires=date+365
numvisits=request.cookies("NumVisits")
if numvisits="" then
   response.cookies("NumVisits")=1
   response.write("Welcome! This is the first time you are visiting this Web page.")
else
   response.cookies("NumVisits")=numvisits+1
   response.write("You have visited this ")
   response.write("Web page " & numvisits)
   if numvisits=1 then
     response.write " time before!"
   else
     response.write " times before!"
   end if
end if
%>
<html>
<body>
</body>
</html>

什么是Cookie?

cookie常用来对用户进行识别。cookie是一种服务器留在用户电脑中的小文件。每当同一台电脑通过浏览器请求页面时,这台电脑就会发送cookie。通过ASP,你可以做到创建并取回cookie的值。

如何创建cookie?

"Response.Cookies"命令用于创建cookie。

注意:Response.Cookies命令必须位于<html>标签之前。

在下面的例子中,我们会创建一个名为"firstname"的cookie,并向其赋值"Alex":

以下为引用的内容:
<%
Response.Cookies("firstname")="Alex"
%>

向cookie分配属性也是可以的,比如设置cookie的过期时间:

以下为引用的内容:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires=#May 10,2002#
%>

如何取回cookie的值?

"Request.Cookies"命令用户取回cookie的值。

在下面的例子中,我们取回了名为"firstname"的cookie的值,并把值显示到了页面上:

以下为引用的内容:
<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>

输出:

Firstname=Alex

带有键的cookie

如果某个cookie包含一系列多重的值,我们就可以说cookie拥有键(Keys)。

在下面的例子中,我们会创建一个名为"user"的cookie集。"user"cookie拥有包含用户信息的键:

以下为引用的内容:
<%
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>

读取所有的cookie

请阅读下面的代码:

以下为引用的内容:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>

假设你服务器将所有的这些cookie传给了某个用户。

现在,我们需要读取这些cookie。下面的例子向您展示如何做到这一点(请注意,下面的代码会使用HasKeys检查cookie是否拥有键):

以下为引用的内容:
<html>
<body>
<%
dim x,y
 for each x in Request.Cookies
  response.write("<p>")
  if Request.Cookies(x).HasKeys then
    for each y in Request.Cookies(x)
      response.write(x & ":" & y & "=" & Request.Cookies(x)(y))
      response.write("<br />")
    next
  else
    Response.Write(x & "=" & Request.Cookies(x) & "<br />")
  end if
  response.write "</p>"
next
%>
</body>
</html>

输出:

以下为引用的内容:
firstname=Alex
user:firstname=John
user:lastname=Smith
user:country=Norway
user:age=25

如何应对不支持cookie的浏览器?

如果你的应用程序需要和不支持cookie的浏览器打交道,那么你不得不使用其他的办法在你的应用程序中的页面之间传递信息。这里有两种办法:

1. 向URL添加参数

你可以向URL添加参数:

以下为引用的内容:
<a href="welcome.asp?fname=John&lname=Smith">
Go to Welcome Page</a>

然后在类似于下面这个"welcome.asp"文件中取回这些值:

以下为引用的内容:
<%
fname=Request.querystring("fname")
lname=Request.querystring("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>

2. 使用表单

你还可以使用表单。当用户点击提交按钮时,表单会把用户输入的数据提交给"welcome.asp":

以下为引用的内容:
<form method="post" action="welcome.asp">
First Name:  <input type="text" name="fname" value="">
Last Name: <input type="text" name="lname" value="">
<input type="submit" value="Submit">
</form>

然后在"welcome.asp"文件中取回这些值,就像这样:

以下为引用的内容:

<%
fname=Request.form("fname")
lname=Request.form("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>