建站代码网

热门标签

asp设置cookies过期时间的方法

<form id="form1" name="form1" method="post" action="save.asp">
<p>用户名:
<input name="username" type="text" id="username" value="<%If Request.cookies("username")<>"" Then Response.Write Request.cookies("username") End If%>" />
<input name="remark" type="checkbox" id="remark" value="1" />
记住用户名</p>
<p>
<input type="submit" name="Submit" value="提交" />
</p>
</form>


<%
usname = request("username")
remark = request("remark")

response.cookies("username") = usname
response.cookies("username").Expires = DateAdd("m",60,now())

response.Redirect("Untitled-2.asp")
%>


什么是 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")="Adams" Response.cookies("user")("country")="UK" Response.cookies("user")("age")="25" %>
读取所有的 cookie

请阅读下面的代码:

<% Response.cookies("firstname")="Alex" Response.cookies("user")("firstname")="John" Response.cookies("user")("lastname")="Adams" Response.cookies("user")("country")="UK" 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=Adams user:country=UK user:age=25

Response.cookies("user_name").Expires=Date+1 '指定cookie保存时间

保留cookieS一个小时
Response.cookies("Mycookie").Expires= (now()+1/24)

Response.cookies("Mycookie").Expires = DateAdd("h", 1, Now())


Response.cookies("cookieName").Expires=DateAdd("m",60,now())
设置60个月以后过期

Response.cookies("User").expires=second()+7
在expires后面定义的时间可以用时间函数代替
例如:date()+7就表示在今天的时间上加上7天,而second()+7则是7秒了。

Response.cookies("字段名").expires=时间函数+N,例如:
Response.cookies("name2").expires=date+1,表示cookies保存1天,再比如:
Response.cookies("name2").expires=Hour+8,表示cookies保存8小时。
这种方法我测试过不行(在2003server,iis6.0中),不管second后面有无加(),访问时会出现500错误(还是无法显示网页?忘了)。


织梦尤文:这里的时间累加建议还是使用DateAdd函数,比如我们要累加一小时,则使用:
Response.cookies("baidooglecom").expires = DateAdd("h", 1, Now())

30分钟:
Response.cookies("cookieName").Expires=DateAdd("n",30,now())

dateadd("S",30,now()) 得到秒


Expires 指定 cookie 的过期日期。为了在会话结束后将 cookie 存储在客户端磁盘上,或在许多时候,我们希望能更长时间地在访问者的计算机上保存cookie。必须设置该日期。
若此项属性的设置未超过当前日期,则在任务结束后 cookie 将到期。
cookie的使用到期时间为“2010年1月1日”: Response.cookies("cookieName").Expires=#January 01, 2010#