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

ASP
提高SQL的执行效率的ASP的五种做法
asp的offset的一个go to page
asp中command的在单条记录时,有些字段显示为空的问题
asp,php一句话木马整理方便查找木马
asp 合并记录集并删除的sql语句
asp下循环一行多少个
asp循环行数输出函数
asp access重新开始编号
ASP生成数字相加求和的BMP图片验证码
静态页面利用JS读取cookies记住用户信息
比较详细的Asp伪静态化方法及Asp静态化探讨
asp Response.flush 实时显示进度
Asp高级故障解决以及相关代码
asp智能脏话过滤系统v1.0
ASP文件中的安全问题
Access数据库中“所有记录中均未找到搜索关键字”的解决方法
asp两组字符串数据比较合并相同数据
asp MYSQL出现问号乱码的解决方法
asp文章中随机插入网站版权文字的实现代码
ASP利用XMLHTTP实现表单提交以及cookies的发送的代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 253 ::
收藏到网摘: 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>")
%>