ASP 教程
1. ASP 教程 2. ASP 简介 3. 在自己的 PC 上运行 ASP 4. ASP 语法 5. ASP 变量 6. ASP 程序 7. ASP 表单 8. ASP Cookies 9. ASP Session 对象 10. ASP Application 对象 11. ASP 引用文件 12. ASP Global.asa 13. ASP 使用 CDOSYS 发送电子邮件 14. ASP Response 对象 15. ASP Request 对象 16. ASP Server 对象 17. ASP ASPError 对象 18. ASP FileSystem 对象 19. ASP TextStream 对象 20. ASP Drive 对象 21. ASP File 对象 22. ASP Folder 对象 23. ASP Dictionary 对象 24. ASP ADO 25. ASP AdRotator 26. ASP Browser Capabilities 27. ASP Content Linking 28. ASP Content Rotator 29. ASP – AJAX 与 ASP 30. ASP 快速参考 31. ASP 总结 32. ASP 实例

ASP Cookies

ASP Cookies


cookie 常用于识别用户。


55面试教程网 - 实例

Welcome cookie
本例演示如何创建 Welcome cookie。


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,2012#
%>


如何取回 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 是否带有键):

<!DOCTYPE html>
<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. 使用表单

您可以使用表单。当用户点击 Submit 按钮时,表单会把用户输入传给 "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>")
%>