第12章 Web应用程序设计实例.ppt_第1页
第12章 Web应用程序设计实例.ppt_第2页
第12章 Web应用程序设计实例.ppt_第3页
第12章 Web应用程序设计实例.ppt_第4页
第12章 Web应用程序设计实例.ppt_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第12章Web应用程序设计实例 12 1会员登录系统12 2网上购物和网上考试系统习题 12 1会员登录系统 12 1 1使用NT 2000Server来管理会员信息我们可以使用NT 2000Server的 域用户管理员 所建立的用户名称及密码来管理 会员网页 下面我们将一普通网页Member htm变为 会员网页 1 将其重命名为Member ASP 2 在Member ASP的开始部分增加以下语句 结果是当上网者浏览Member ASP网页时 首先会出现如图12 1所示的 输入网络密码 对话框 图12 1 输入网络密码 对话框 如果上网者输入了合法的用户名及密码 则Request ServerVariables LOGON USER 将返回用户名称 如图12 1中的admin 如果无法登录合法的用户名及密码 则Request ServerVariables LOGON USER 将返回空字符串 12 1 2会员密码检验程序使用NT 2000Server来管理 会员网页 的优点是不必写复杂的程序 但每新增一个会员 就必须使用 域用户管理员 来建立用户名称及密码 这将极大地增加 域用户管理员 的工作量 且使用起来非常不方便 下面我们来自制会员密码检验程序 1 数据库 表 结构新建一名为Userpwd mdb的数据库 数据表 User 存放会员信息 结构如表12 1所示 表12 1数据表 User 结构 2 验证用户名称及密码的程序设定用户登录网页如图12 2所示 其验证程序如下 EmptyThenUserID Request UserID Password Request Password SQL Select FromUsersWhereUserID UserID SQL SQL AndPassword Password Setrs MdbRecordset Userpwd mdb SQL IfNotrs EOFThen 找得到记录 表示通过 Response Write 通过 ElseResponse Write 用户名称或密码错误 EndIfResponse EndEndIf 图12 2用户登录网页 12 1 3密码验证功能的加入1 编写Login asp如果 会员网页 很多 则我们将上述验证密码的程序段加到每一个网页会非常麻烦 此时 也可以专门编写一个Login asp程序 使其具备以下功能 1 检验目前的联机者是否已经登录 若还没有登录 则先显示图的登录画面 2 检验联机者所登录的账号及密码是否正确 3 如果联机者已经登录过或所登录的账号及密码是正确的 则进入下一个网页 Login asp程序的代码内容如下 Passed AndUserIDEmptyAndPasswordEmptyThenPassed CheckPassword UserID Password mdbFile mdbPassword EndIfIfPassed Passed Then 请输入用户账号及密码 Method POST 用户名称 密码 用户账号或密码错误 请重新输入 Response EndEndIf FunctionCheckPassword UserID Password mdbFile mdbPassword IfSession mdbFile Passed ThenCheckPassword Passed ExitFunction 不必再检查数据库 以节省时间EndIf SQL Select FromUsersWhereUserID UserID SQL SQL AndPassword Password IfLen mdbPassword 0ThenSetrs MdbRecordset mdbFile SQL ElseSetrs SecuredMdbRecordset mdbFile SQL mdbPassword EndIf IfNotrs EOFThen 此组密码存在 故通过CheckPassword Passed Session mdbFile Passed ElseCheckPassword NotPassed EndIfEndFunction 2 Login asp的使用借助Login asp将某一网页设置成会员专用网页的方法很简单 即 1 如果此会员专用网页的扩展名为 htm html 则请重新命名为 asp 2 在每一会员专用网页最前面的位置增加以下一行语句 12 1 4会员的实时加入 会员网页 必须建立在会员数据库中有会员记录的前提下 不然所有上网者都不可能进入 会员网页 因此会员的实时加入就非常重要 图12 3是典型会员管理网页的处理流程 图12 3典型会员管理网页的处理流程 1 会员登录会员登录Member htm网页如图12 4所示 图12 4会员登录Member htm网页 2 处理登录信息Join asp这一程序用来处理登录的数据 主要工作是检查新会员所输入的数据 若数据无误 则将其写入数据库中 其中 检查工作包含 1 字段是否空白 若空白 则不接受 2 所输入的E mail是否正确 若E mail中没有 符号 符号位于E mail的第一个字符或最后一个字符等 都算是错误的 3 两次输入的密码是否一致 4 所输入的UserID是否已有人占用 5 所输入的E mail是否已有人占用 3 忘记用户名称及密码Join asp这一程序主要功能是根据用户所输入的E mail来查询数据库 其中查询的SQL指令如下 检查此一E mail是否申请了账号SQL Select FromUsersWhereEmail Email Setrs SecuredMdbRecordset mdbFile SQL mdbPassword Ifrs EOFThen 没有找到记录 表示没有申请账号 程序结束EndIf 找到记录 将基本数据传送到用户所输入的E mail信箱 若没有找到记录 即Rs EOF为True 则表示没有申请账号 程序结束 若找到数据 即Rs EOF为False 则利用mail Send传送基本数据到用户所输入的E mail信箱 12 1 5程序清单1 Member htm 会员登录略 2 Join asp 新会员加入处理 mdbFile Userpwd mdb mdbPassword kj6688 UserID Request UserID Password Request Password Password2 Request Password2 Name Request Name Email Request Email 检查是否为空白IfUserID EmptyOrPassword EmptyOrName EmptyThenShowMessage 单元空白 不接受 EndIf 检查EmailIfInStr Email 0OrRight Email 1 OrLeft Email 1 ThenShowMessage Email错误 请重新输入 EndIf 检查两次输入的密码是否一致IfPasswordPassword2ThenShowMessage 两次输入的密码不一致 EndIf 检查此一UserID是否已有人占用SQL Select FromUsersWhereUserID UserID Setrs SecuredMdbRecordset mdbFile SQL mdbPassword IfNotrs EOFThen 此一UserID码已被占用ShowMessage 此一 用户名称 已被占用 请重新输入 EndIf 检查此一Email是否已申请账号SQL Select FromUsersWhereEmail Email Setrs SecuredMdbRecordset mdbFile SQL mdbPassword IfNotrs EOFThen 此一Email已申请账号ShowMessage 此一Email已申请账号 请重新输入 EndIfrs AddNewrs UserID UserIDrs Password Passwordrs Name Namers Email Emailrs UpdateShowMessage 您已经成为本站的会员了 3 Forget asp 忘记密码处理 mdbFile Userpwd mdb mdbPassword kj6688 Email Request Email IfEmail EmptyThenShowMessage Email尚未输入 EndIf 检查此一Email是否申请了账号SQL Select FromUsersWhereEmail Email Setrs SecuredMdbRecordset mdbFile SQL mdbPassword Ifrs EOFThenShowMessage 对不起 此一Email并未申请账号 EndIf 送出此一Email的会员信息SetkjAx Server CreateObject kjActiveX Agent SetOutlook kjAx CreateObject Outlook Application Setmail Outlook CreateItem 0 mail Subject 您的会员信息 Body 用户名称 rs UserID vbCrLfBody Body 密码 rs Password vbCrLfBody Body 姓名 rs Name vbCrLf vbCrLfBody Body ASP网页制作教程敬上 mail Body Bodymail Recipients AddEmailmail Savemail SendShowMessage 您的信息已经传到 Email 了 12 2网上购物和网上考试系统 12 2 1网上购物系统图12 5是典型网上购物的处理流程 图12 5典型网上购物的处理流程 首先进入购物网页Main asp 如图12 6所示 图12 6购物网页Main asp 您可以选择相应的购物区 进入Buy asp 如图12 7所示 图12 7相应的购物区Buy asp 在Buy asp网页中 选取所要购买的商品后 按下 放入购物袋 按钮 就会进入Add asp网页 按下 查看购物袋 按钮 就会进入Check asp网页 图12 8 按下 退回所有物品 按钮 就会进入Clear asp网页 图12 8查看购物袋Check asp 1 数据库 表 结构新建一名为eShop mdb的数据库 数据表Category存放 商品类别 购物区 信息 结构如表12 2所示 表12 2数据表Category的结构 表12 3数据表Products的结构 2 Add asp 放入购物袋Add asp负责将在Buy asp网页中选取的所要购买的商品放入购物袋 其中商品加入的程序段如下 ProductList Request Cookies ProductList Products Split Request ProductID ForI 0ToUBound Products IfLen ProductList 0ThenProductList Products I Response Cookies Products I 1 ElseIfInStr ProductList Products I 0ThenProductList ProductList Products I Response Cookies Products I 1EndIfNextResponse Cookies ProductList ProductList 以上程序首先读取 ProductList Cookies 接着读取ProductID 选购商品ID 参数的内容 例如 Office02 Office04 并且分割后 Office02 Office04 指定给Products数组 然后判断Products数组中的商品是否出现于ProductList之中 判断式为 InStr ProductList Products I 0 若尚未出现在ProductList之中 则将其加入到ProductList 最后再将ProductList的内容写回 ProductList Cookies 3 Check asp 查看购物袋Check asp负责查看购物袋内容 并可更改购物袋中商品的数量 其程序段如下 ProductList Products Split Request ProductID ForI 0ToUBound Products IfLen ProductList 0ThenProductList Products I ElseIfInStr ProductList Products I 0ThenProductList ProductList Products I EndIf Quatity CLng Request Q Products I IfQuatity 0ThenProductID Request Cookies Products I IfProductID ThenProductID EmptyQuatity CLng ProductID EndIfIfQuatity 0ThenQuatity 1Response Cookies Products I QuatityNextResponse Cookies ProductList ProductList 以上程序未标记成粗体字的部分与 Add asp 的程序代码类似 在更改数量方面 以上程序会先读取 Q 商品编号 参数 表示使用者所更改的数量 若其值小于等于0 再读取Cookies中这一商品的数量 原来的数量 然后把最后的数量写回Cookies中 4 Clear asp 退回所有物品退回所有商品的程序最简单 主要程序段如下 Response Cookies ProductList 也就是将 ProductList Cookies 清成空字符串 12 2 2网上考试系统图12 9是典型网上考试的处理流程 图12 9典型网上考试的处理流程 网上考试从Enter asp进入 如图12 10所示 图12 10网上考试登录Enter asp 选择考试科目及输入学号 姓名 在按下 进入考场 按钮之后 进入Test asp网页 如图12 11所示 图12 11网上考场Test asp 在Test asp网页中按下 交卷 会进入Score asp网页 这一网页会针对考试科目进行评分 并算出成绩 然后存放于Test mdb数据库的 成绩单 数据表中 1 数据库 表 结构新建一名为Test mdb的数据库 试卷表 如ASP 存放 ASP试卷 信息 结构如表12 4所示 数据表 成绩单 存放 考试成绩 结构如表12 5所示 表12 4试卷表 如ASP 结构 表12 5试卷表 成绩单 结构 2 Test asp 在线考试在Test asp在线考试考题中 单选钮 Radio 及复选钮 CheckBox 会以 No rs 题号 来命名 以第7题为例 四个选项的Name属性都等于 No7 而四个选项的Value属性则分别等于1 2 3 4 程序代码段如下 分 Name NoValue rs MoveNextWend 同时 在以上程序中 列出考题及选项的语句不是rs 题号 及rs 选项 I 而是 Server HTMLEncode rs 题目 Server HTMLEncode rs 选项 I 这是因为 题目 及 选项1 选项4 字段可能含有HTML标记 而这些标记不应该被解释 而应该原原本本地显示 所以必须先调用HTMLEncode进行编码 然后才下载到浏览器中 3 Score asp 评分假使参与考试的学生在第7题所选择的选项是1 3 4 则产生的No7参数值将等于 1 3 4 注意 号之后有空格符 经由Score asp读取之后 会与数据库的 解答 字段 rs 解答 进行比较 程序代码段如下 Sel Request No rs 题号 Ans rs 解答 IfAns SelThenScore Score rs 分数 EndIf 在每一题都评分之后 Score变量就是考试成绩了 12 2 3程序清单1 Main asp 网上购物首页本网页须使用Cookies功能 请先开启Cookies EndIf 读取商品分类 然后写入Cookies物件中Setrs MdbRecordset eShop mdb Category WhileNotrs EOFParam CategoryID rs CategoryID Param Param Description Server URLEncode rs Description Link rs Description count count 1Response Cookies CategoryLink count LinkResponse Cookies CategoryLinks countrs MoveNextWend 电子购物街进入购物区 Next 2 Buy asp 商品选购 Response Buffer TrueCategoryID Request CategoryID Description Request Description IfCategoryID EmptyThenResponse Redirect Main asp EndIf Head 电子购物街 Description 区 SQL Select FromProductsWhereCategoryID CategoryIDSQL SQL OrderByProductID Setrs MdbRecordset eShop mdb SQL 挑选商品编号商品名称价格商品简介0ThenIsCheck Checked EndIf 查看购物袋退回所有物品 3 Check asp 查看购物袋 Response Buffer TrueIfRequest MySelf Yes ThenProductList Products Split Request ProductID ForI 0ToUBound Products IfLen ProductList 0ThenProductList Products I ElseIfInStr ProductList Products I 0ThenProductList ProductList Products I EndIfQuatity CLng Request Q Products I IfQuatity 0ThenProductID Request Cookies Products I IfProductID ThenProductID EmptyQuatity CLng ProductID EndIf IfQuatity 0ThenQuatity 1Response Cookies Products I QuatityNextResponse Cookies ProductList ProductListEndIfProductList Request Cookies ProductList IfLen ProductList 0ThenCallNothingBuyResponse EndEndIf SQL Select FromProducts SQL SQL WhereProductIDIn ProductList SQL SQL OrderByProductID Setrs MdbRecordset eShop mdb SQL 以下是您所选购的物品清单 确认商品编号商品名称单价数量总价商品简介 Checked Value Size 3 总价格 退回所有物品 您尚未选购任何物品或是退回了所有物品 4 Add asp 放入购物袋 Response Buffer TrueProductList Request Cookies ProductList Products Split Request ProductID ForI 0ToUBound Products IfLen ProductList 0ThenProductList Products I Response Cookies Products I 1 ElseIfInStr ProductList Products I 您所选购的物

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论