




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章 ASP网站典型模块设计实例 本章的学习目标:掌握注册登陆模块的系统分析及关键技术的实现掌握留言论坛的设计方法及其关键技术的实现掌握利用数据库存储计数数据并以图形方式显示计数器的设计方法掌握组合查询的设计实现方法了解文件上载功能的设计实现方法注册登陆应用:对于一个论坛社区、网上购物、聊天游戏等大型网站一般都以用户名的方式进行交互的,这就需要网站注册登陆模块来实现。注册登陆作用:用户通过注册登陆网站系统,就可以拥有一定权限,实现网站的访问和用户间的交流,网站并以用户名为索引,来跟踪和保存用户访问网站的信息。注册登陆模块是网站实现用户交互的基本前提。8.1 注册登陆模块的设计 1. 功能分析
2、用户注册登陆模块应具备以下几个功能:注册信息的提交及其表单信息的验证注册信息存储时防止重名注册登陆验证码的设计用户级别的划分个性管理页面定制防止越权访问2. 系统流程及文件体系规划 8.1.1 注册登陆系统的需求分析根据用户注册登陆的功能分析,我们以Access数据库为例,创建用户信息库文件userdata.mdb,以及用户信息userinfo表,表的结构如表8-1所示。8.1.2 数据库的设计在ASP网站开发中常常会遇到一些公用模块,如数据库接口、错误处理等,这些模块在系统中很多页面都要用到,这样就可以采用包含页的方式,实现了代码重用,提高了开发效率。本例中用到的公用模块只有一个数据库接口模
3、块,文件命名为conn.asp,其他页中要与数据库发生访问关系就将此文件包含进来即可,方法为在访问数据库网页的代码页首加入如下语句: 8.1.3 公用模块的设计1. 注册界面设计 注册界面应包括填写用户名、密码和验证密码,这是最基本的,为了实现表单各种类别的验证,我们这里另加上了填写注册用户的年龄和电子邮箱,对应存储到数据库部分我们还添加了用户注册时间以及用户等级的划分,表的结构见数据库设计表8-1所示。 8.1.4 注册模块的设计2. 客户端验证模块的设计为了保证注册用户信息录入的准确性,表单验证是必不可少的,在实际网络上的表单验证都采用的是客户端方式验证,而这种方式都是用的JavaScri
4、pt脚本编程来实现的,因为JavaScript比VBScript兼容性更好,本例的注册表单信息录入要求如下: 用户名及密码不能为空。 口令长度不得小于6位并且和验证口令的输入必须相同。 用户年龄必须为数字并且录入的年龄符合要求。 电子邮箱录入符合邮箱的格式要求。【例:注册页面文件reg.htm 】8.1.4 注册模块的设计3. 防止同名注册的设计 用户注册中,一般以用户名作为唯一索引主键,所以禁止同名注册,在程序设计中获取表单的用户名和现有库表中的记录进行检索比较,如果没有得到相同的用户名则可以把注册的用户信息添加到数据库中。【例:注册页面的表单接收者为reg.asp 】 8.1.4 注册模块
5、的设计1. 验证码模块的设计验证码作用:不少网站为了防止用户利用“机器人”等软件进行自动注册、登录或灌水,都采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。验证码实现方法:本示例中设计了一个四位数字构成的验证码,这四位的数据是采用随机数方法实现的,并将这四位数字分别替换成所对应的图片进行显示。因此,需要事先设计几组数字图片,示例中准备了3组随机数字图片,每组为一个文件夹,分别命名分别为1、2和3,文件夹内图片的命名与显示的数字一一对应,分别命名为0
6、.gif、1.gif、2.gif、 9.gif。 【例:示例登陆文件命名为index.asp 】8.1.5 登陆模块的设计2. 登陆后用户级别的划分 用户输入户名、密码及验证码后,正确时则为该用户设置两个Session变量,一个是索引该用户的用户名信息,另一个为区别用户级别的级别值,用户在正确登陆后进入管理页面访问时,就始终携带这两个值。【例:审核登陆信息的网页文件 check.asp】8.1.5 登陆模块的设计4. 个性管理页面的设计根据用户携带的Session(“level”)的级别值不同,可以定制用户的个性页面,用户级别的赋值为该用户数据库记录中的值,如果为普通用户示例设置为2,若为超级
7、管理用户示例设置的级别为3。定制个性页面方法:可以利用response.redirect方法分别跳转到超级用户及普通用户的页面来完成不同的功能;也可以利用在同一个文件中,利用级别值不同来屏蔽部分管理功能;再一种方法是根据级别不同,执行不同的SQL语句来实现用户管理范围的定制。【例:示例为一个文件名为manage.asp】 8.1.5 登陆模块的设计5. 防止越权访问 为了保障管理页面的安全访问,在用户登陆管理界面后访问的每个页面脚本前都应该加上如下代码: 退出管理页面时,也应消除Session信息值,示例中退出管理页面的文件为quit.asp,其代码如下: 8.1.5 登陆模块的设计网上留言是
8、最基础的网络信息交互模块,应完成记录留言者的留言信息,实现留言回复的基本功能,在一些大型的ASP网站中很多地方都要用到这个模块,比如话题讨论、信息反馈、疑难解答等,另外有些类似的功能也都是由留言论坛模块进行扩展实现的,如信息发布、网络博客、网上日记等等。如果把留言板的内容扩充,添加用户注册登陆模块、管理模块,实现用户留言的同时留下发言者的注册户名信息,注册登陆用户可以搜索留言、回复其他用户留言,根据注册登陆用户的等级可以建立话题讨论以及管理留言等功能就可以形成了论坛系统。 本节只介绍用户匿名留言及其回复的设计实现过程。 8.2 留言论坛模块的设计 1. 功能分析 留言功能多重回复留言功能留言贴
9、及其回复贴在同一页面中显示记录留言浏览次数、留言者的IP以及留言时间用图片表示留言者的表情 2. 文件体系规划【示例】根据以上功能分析,留言的文件体系规划如图所示。 8.2.1 留言模块的需求分析8.2.2 数据库的设计8.2.3 功能实现1. 公共模块的设计 数据库接口模块数据库接口模块文件命名为conn.asp。 CSS样式表文件CSS是Cascading Style Sheets(层叠样式表)的简称。简单地说就是用来美化网页用的。它是一种标记语言,不需要编译,可以直接由浏览器执行。CSS文件是一个文本文件,它包含了一些CSS标记,CSS文件必须使用css为扩展名。本示例文件命名为css.
10、css。在使用CSS样式表文件的标记结束前嵌入如下语句:【例css.css】8.2.3 功能实现2. 留言列表的设计 本示例中留言列表为主页文件,命名为index.asp,该页主要完成除回复留言以外的留言原帖列表,包括原帖的点击浏览次数、留言时间以及该贴的回复次数。关键技术:Select * from bookinfo where mess_re = 0 order by id desc 【例 index.asp 】8.2.3 功能实现3. 查看留言内容的设计 在上图中我们点击某一留言,通过链接携带的索引ID号值,进入到查看具体留言的页面。【例 read_mess.asp 】 关键技术:8.2
11、.3 功能实现4. 发表/回复留言的设计 发表及回复留言功能的设计由一个ASP程序文件实现的。【示例 write_mess.asp】发表及回复留言的表单提交【示例 add_mess.asp】关键技术:表情图片的存储思考题:如何设计一个论坛程序?(注册登陆、“实名”留言/回复、后台管理)7.9 本章小结 这一章介绍了ADO对象及数据库操作,重点介绍了数据库的连接方法、Connection对象、Recordset对象、Fields集合及其Field对象、Command对象和Errors集合及其Error对象。利用Connection对象和Recordset对象,几乎可以涵盖了对数据库的所有操作,本章详细介绍了利用Recordset对象进行数据库的查询、分页、添加、删除及修改的语法及其应用示例,要求读者对这些操作重点掌握。前面所有的章节都是为本章做铺垫,所以本章也是本教材的重点。也是下一章综合练习及工程实践的基础。思考题: 1. 什么是数据库、表、字段、记录?它们之间是什么关系? 2. Access数据库表的字段数据类型有哪些?它们的特征是什么? 3. 利用Acces
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版土地居间委托服务合同书
- 压榨油可行性研究报告
- 中国动态平衡调节阀行业市场占有率及投资前景预测分析报告
- 中国盐水瓶行业市场规模及投资前景预测分析报告
- 废料回收处理服务合同10篇
- 2024年江西省赣县事业单位公开招聘医疗卫生岗笔试题带答案
- 2024年福建省惠安县事业单位公开招聘医疗卫生岗笔试题带答案
- 文物保护工程从业资格考试真题答案解析
- 2025上海二手车买卖合同样本
- 套细胞淋巴瘤的临床护理
- 《政府采购制度改革》课件
- 2024-2030年中国微风发电行业十三五规划及投融资分析报告
- 2025版高考物理复习知识清单
- 【MOOC】知识创新与学术规范-南京大学 中国大学慕课MOOC答案
- 餐饮收货流程
- 样本相关系数 教学设计
- 五年级语文上册第六单元习作 我想对您说 公开课一等奖创新教学设计
- 间歇机构获奖课件
- 重难点18 球的切、接问题(举一反三)(新高考专用)(学生版) 2025年高考数学一轮复习专练(新高考专用)
- 常压储罐日常检查记录表
- 中国不宁腿综合征的诊断与治疗指南
评论
0/150
提交评论