资源描述
1,5.1.1Request对象简介,Request对象是ASP内置对象中较为重要的一类对象。主要负责的是从客户端获得具体的用户数据信息。也就是说,可以使用Request对象访问任何基于HTTP请求传递的所有信息,包括从HTML表格用POST方法或GET方法传递的参数、cookie和用户认证。Request对象使您还能够方便的访问客户端发送给服务器的二进制数据。Request对象把用户信息保存在几个集合中,供ASP应用来使用。Request的语法:Request.collectionpropertymethod(variable)表5-1是Request对象集合的相关变量。变量说明QueryStringHTTP请求中查询字符串中变量的值Form存取用户在窗体中输入的相关字段的值Cookies获取客户端中Cookies的内容ServerVariables指定的服务器环境变量的值ClientCertificate在发送HTTP请求中储存的客户端证书中的字段值当用户不指定集合的名称时,ASP默认为以QueryString、Form、Cookie和ServerVariable的顺序搜索所有的集合,当发现匹配的变量时,就认定他是要引用的成员。当然,一般我们在使用时都指定是哪个集合成员,以便于提高程序的效率。例如:Request.Form(yourname),2,5.1.2获取信息的方法-Form,1、使用Form集合获取信息我们使用Form变量是用来获取用户在窗体中填写的相关信息。但是在使用Request.Form的对象时,HTML标记中的必须使用“POST”方法,否则将无法取得窗体中的字段信息。Form的用法:Request.Form(Element)(Index).Count其中,Request.Form(Element)的值为请求正文中所有Element值构成的一个数组,通过调用Request.Form(Element).Count来确定参数中值的个数。如果参数未进行关联,则Count的值为1。如果找不到该项参数,则为0。如关联了多个值,则必须指定Index的值。Index的值为1到Request.Form(Element).Count中的任意整数。下面我们用一个例子来说明一下。,3,5.1.2获取信息的方法-Form(实例),【例5-1】,程序名:exam5-1.htm姓名:性别:男女您的爱好有:体育购物阅读,程序名:exam5-1.asp您的姓名:性别:Fori=1toRequest.Form(hobby).CountResponse.WriteRequest.Form(hobby)(i)uid=sa;pwd=;sql=select学号,姓名,性别,出生日期,学院,成绩from学生表objrs.opensql,objcn,1,1pagestart=pagesize*(pageno-1)+1pagetotal=objrs.recordcount/pagesizeif(pagetotal学生表,fori=0toobjrs.fields.count-1response.writeDBQ=&cnpath说明:前两句:利用Server对象的CreateObject方法,建立一个数据库存取组件的Connection对象实例conn。第三句:利用Server对象的MapPath方法将数据库文件的相对路径转换成绝对路径。第四句:执行conn对象的Open方法来打开数据库。其中,第一项表示将打开的数据库类型是ACCESS数据库,第二项表示打开的数据库的物理路径,此处的前部分内容的拼写不能错,否则将产生链接失败。,105,8.4.1系统数据信息的实现,为了便于企业网站的相关系统信息内容,如页面标题、企业徽标、主页广告条以及版权和联系方法等,几乎在所有的页面都采用系统数据库中的system数据表来显示,然后在管理页面中由系统管理员对其进行修改。部分程序如下:说明:前两句:利用Server对象的CreateObject方法,建立一个数据库存取组件的Recordset对象实例rs9。第三句:利用SQL查询字符串sql9以降序方式查询system数据表。第四句:执行rs9对象的Open方法来打开记录集,这样在后面就可以使用该查询结果。1、页面标题、企业徽标以及广告条的实现2、版权及联系方法的实现,106,8.4.2主页子栏目的显示以及新闻、产品、技术文档等信息的实现,子栏目的动态显示热点新闻、行业动态、技术文档、产品新贵及专题新闻等信息的动态显示本站新闻智能搜索及公告栏的显示,107,8.4.3用户调查的实现,网上用户调查,就是让用户投票,然后统计当前投票结果。图8-23就是主页上的用户调查界面,当选择一个选项点击“投票”后将提交给yhdc_tj.asp页面,该页面收到用户提交的信息后进行计数加1,并存到文本文件data/result_*.txt中,最终转到yhdc.asp页面显示其统计结果,如图8-24所示。,108,8.4.4访客留言簿的实现,本留言簿首页fkly.asp(如图8-25所示)尽管很长,但结构简单,上面是一个添加留言表单,下面是显示留言部分。填写留言完毕,按确定后将传送到fkly_add.asp去处理,处理完毕后再引导回首页。,109,8.4.5管理页面程序的实现,管理页面程序由于只有系统管理员才具有管理权限,故必须先登陆(如图2-30所示)。当系统管理员输入用户名和密码后,进行验证。通过后,将进入管理页面如图2-31所示。,110,8.4.5管理页面程序的实现(续上),1、系统更改图2-32是管理页面中的系统更改界面system.asp,在这些信息的边上都有辅助说明,同时有些内容(如公告栏等)允许使用HTML标记以达到某些特殊效果(如换行、加粗体等)。当修改了其相关信息后,可以按“提交”按钮提交给systemsave.asp。然后利用SQL的update语句进行更新系统信息。,111,8.4.5管理页面程序的实现(续上),2、密码更改图2-33是管理页面中的密码更改界面passmenu.asp,通过提交相关信息给password.asp页面处理,可以改变系统管理员的用户名和密码,其实现技术基本同系统更改部分。,112,8.4.5管理页面程序的实现(续上),3、添加新闻图2-34是管理页面中的添加新闻信息界面newsadd.asp,通过提交相关信息给newssave.asp页面处理,可以添加新闻信息到库中,同时也把其进行了信息归类和专题归类,这样在主页中就可以显示在相关栏目中(如属于“行业动态”类别的,则就在“行业动态”部分显示)。其实现技术基本同系统更改部分,只是在打开记录集后先增加了一条空记录(实现语句为:rs.addnew),然后相关信息赋给它,再对其进行更新。,113,8.4.5管理页面程序的实现(续上),4、删除新闻图2-35是管理页面中的删除新闻信息界面newskill.asp,通过提交信息id号给yankill.asp页面处理,可以删除库中的该id号新闻信息。在该页面中,一方面在右边显示了当前最新添加的新闻信息标题,通过其可以查看到id号,同时也采用了分页显示方法,该技术见前面的“更多信息”页面(如newsmore.asp)部分;另一方面还提供了一个“搜索”按钮(提交给keyword.asp),可以输入新闻信息内容中的关键词来得到相关信息的id号,并显示在右边,供删除时决定该删除否,其搜索技术见前面“新闻智能搜索”部分。,114,8.4.5管理页面程序的实现(续上),5、添删专题图2-36是管理页面中的添删专题栏目界面zhuantiadd.asp,通过提交专题id号给yantopickill.asp页面处理,可以删除库中的topic表里对应id号的专题栏目。执行该功能时,请系统管理员要小心,因为一旦删除后就无法恢复,同时库中相对应的所有新闻信息的关联将丢失。一般来说,此项功能只应用于某企业网站刚开始建立时使用添加功能录入相关专题,一旦添加好其专题栏目,就请不要在更改了。其相关技术见前面的数据库中表记录的添加和删除。,115,8.4.5管理页面程序的实现(续上),6、导航分类图2-37是管理页面中的导航分类界面dhfl.asp,通过提交导航栏目id号给dhflkill.asp页面处理,可以删除库中的dtitle表里对应id号的导航栏目。同样,执行该功能时,请系统管理员也要小心,一旦删除该导航栏目后就无法显示了,但可以再次将导航名称和链接地址路径添加进去,唯一不同就是表中导航id号不再是原来的了,而是新的id号。通过导航栏目的添加功能,可以随意的扩充网站子栏目。其相关技术也同前面的数据库中表记录的添加和删除。,
展开阅读全文