注册 登录
编程论坛 ASP技术论坛

怎么读取所有的 cookies 里面的值

guang2356447 发布于 2010-08-23 15:46, 1138 次点击
<%
response.Cookies("hgy")("name")=request.Form("name")
response.Cookies("hgy")("age")=request.Form("age")
response.Cookies("hgy")("nr")=request.Form("nr")

response.Write request.Cookies("hgy")("name")
response.Write "<br>"
response.Write request.Cookies("hgy")("age")
response.Write "<br>"
response.Write request.Cookies("hgy")("nr")
response.Write "<br>"
response.Write "<br>"
%>

上面只能读取一条     怎么读取所有的值啊  
<%
For each hgy in Request.Cookies
response.Write cookiesName&"内容"&_request.cookies(cookiesName)&"<br>"
next
%>
8 回复
#2
cnfarer2010-08-23 17:20
例:
dim name
name=request.Cookies("hgy")("name")
#3
gupiao1752010-08-23 17:49
程序代码:
<%
'by:gupiao175
Response.Cookies("sitename")="编程中国"
Response.Cookies(
"siteurl")="http://bbs.bccn.net"
Response.Cookies(
"chinavb")("sitename")="BCCN"
Response.Cookies(
"chinavb")("siteurl")="http://www.bccn.net"
session(
"username")="gupiao175"
For Each objItem In Request.Cookies
If Request.Cookies(objItem).HasKeys Then
   
For Each objItemKey in Request.Cookies(objItem)
    Response.Write objItem
& "(" & objItemKey & ") = "& Request.Cookies(objItem)(objItemKey) & "<BR>"
   
Next
Else
   Response.Write objItem
& " = " & Request.Cookies(objItem) & "<BR>"
End If
Next
%>

代码已经测试通过,可以循环读取所有COOKIES的变量名值对!
#4
gupiao1752010-08-23 17:58
如果你只希望读取response.Cookies("hgy")域下的所有cookies,而不读取其他名称下的二级,可以这么写:
程序代码:

For Each objItem In request.cookies("hgy")

 Response.Write objItem & " = " & Request.Cookies("hgy")(objItem) & "<BR>"
Next
#5
guang23564472010-08-23 19:29
For Each objItem In request.cookies("hgy")
Response.Write objItem & " = " & Request.Cookies("hgy")(objItem) & "<BR>"
Next

我用你这个怎么只能读取一天记录信息啊      是不是我添加的时候 给替换拉啊

怎么查找这个cookies文件啊   想看看里面有几条记录

能设置存放位置吗
#6
gupiao1752010-08-23 22:00
同名下:你昨天写了:
request.cookies("hgy")="bccn"
今天却这么写了:
request.cookies("hgy")="bccn2"
那结果自然就变成了bccn2,也就是说你把hgy这个cookie改值了,肯定读不到bccn这个值的,除非你不同名
request.cookies("hgy2")="bccn"
或者某个cookie的时间域到期了,自然也就读不到了!

COOKIE没有今天和昨天之分,只有时间作用域的区别,时间expires从你设置某个名称的cookies开始到一定时间后有效,或者path某个路径文件夹下有效。cookie一般情况下是无法设置其存放位置的文件夹的,那都是浏览器开发时固有的,一般普通用户只能清除COOKIES!
#7
guang23564472010-08-23 23:10
还是不太明白啊

我就是想用asp+cookies  做个留言本 或者购物车的功能    现在只能读取最新的一条      好像保存一条新的  就替换上一条    没有更多的记录

我的表单页面
<form method="post" action="save.asp">
<p>姓名:
  <input name="name" type="text" id="name" />
  <br />
  <br />
年龄:
<input name="age" type="text" id="age" />
<br />
<br />
介绍:
<input name="nr" type="text" id="nr" />
</p>
<p>
  <label>
  <input type="submit" name="Submit" value="提交" />
  </label>
</p>
</form>

保存的页面代码

<%
response.Cookies("hgy")("name")=request.Form("name")
response.Cookies("hgy")("age")=request.Form("age")
response.Cookies("hgy")("nr")=request.Form("nr")

'Response.Cookies("name").expires = DateAdd("s", 30, Now())    ' 保存30秒
' Response.Cookies("name2").expires=date+1,表示Cookies保存1天,再比如:



response.Write request.Cookies("hgy")("name")
response.Write "<br>"
response.Write request.Cookies("hgy")("age")
response.Write "<br>"
response.Write request.Cookies("hgy")("nr")
response.Write "<br>"
response.Write "<br>"
%>
<%
For Each objItem In request.cookies("hgy")
Response.Write objItem & " = " & Request.Cookies("hgy")(objItem) & "<BR>"
Next
%>
#8
gupiao1752010-08-24 01:06
难道楼主想只通过cookies来做留言系统??
response.Cookies("hgy")("name")你这个一直都不变的,你怎么可能保存以前的人的留言呢?永远也只能显示最后一个发言的人!
MY GOD。
给你2个思路:
1,添加一个注册功能,每个人给一个身份变量,以区别于其他人!需要通过数据库来操作,这个虽然麻烦些,但是却很通用!
是大众留言的首选方法!
2.用session.sessionID做为其变量名:
 dim username=session.sessionID
response.Cookies(username)("name")
那么此时的cookies的名称就是随时都在变化的,并不会重复,缺点就是无法确认谁的发言,需要改进!不推荐!
#9
hams2010-08-24 08:53
如果你知道cookies名,就可以读出来
按你说的意思,cookies的内容是你存进去的,你还不知道cookies名么?
1