ASP入门(九)-Request对象小案例

我们将制作一个能够记住访问者姓名的页面,在这个小案例中,你将学会如何使用Request对象的Cookies、Form以及ServerVariables集合的值,还可以学习到如何使用Response对象来发送Cookies。

首先来看看程序代码:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>用Cookies记住访问者的姓名</title>
</head>
<body>
<%
Dim sUserName
sUserName = Trim(Request.Cookies("name"))
'判断name是否为空,不为空则输出name的值
If sUserName = "" Then
  '判断是否是POST刚提交了表单,是的话则获取表单内容输出Cookies
  If UCase(Trim(Request.ServerVariables("REQUEST_METHOD"))) = "POST" Then
    sUserName = Trim(Request.Form("name"))
    Response.Cookies("name") = sUserName
    Response.Cookies("name").Expires = DateAdd("d", 1, Now)
    'Cookies一天后过期
    Response.Write("我已经记住您的姓名了!")
  Else
    '否则显示表单,让用户提交表单
%>
    <form method="post" action="">
    请告诉我您的姓名 : <input name="name" type="text"/>
    <input type="submit" value="提交" />
    </form>
<%
  End If 
Else
  Response.Write("您好," & sUserName)
End If
%>
</body>
</html>

首次运行,无法获取 Cookies 信息,显示表单,让用户提交,如下图:

20150813008

提交表单,还是POST到当前ASP页面,因为还是无法获取Cookies,所以显示提交表单成功的页面,如下图:

20150813009

再次刷新当前页面 RequestCookies.asp ,因为可以获取到Cookies,直接显示访问者姓名了。

20150813010


我们再详细讲解下让用户输入姓名并保存的部分,首先获取ServerVariables变量REQUEST_METHOD的值,这个值标识了当前页面的请求方式,如果是POST方式,说明现在正在想此页面提交表单,这时就要获取表单的值,并且将其使用Response.Cookies集合来向客户端输出Cookies,否则显示供用户填写姓名的HTML代码。

小知识

Trim函数删除字符串两边的空格,LTrim函数删除字符串左侧空格,RTrim函数删除字符串右侧空格。

UCase函数把指定字符串转化为大写,LCase函数把指定字符串转化为小写。

示例代码下载

RequestCookies.rar

posted on 2015-08-13 21:31  pchmonster  阅读(1648)  评论(0编辑  收藏  举报

导航