当前位置: 首页 > 图文教程 > 网络编程 > ASP > 一个基于ASP的标题广告管理系统(二)

ASP
关于网站文件自动备份程序的一点思考
DBTree 1.3.2
抽取10万条数据,想起GetRows()
一份ASP内存的释放的实验报告
[整理版]ASP常用内置函数
Jmail组件发送邮件之绝对能用的函数
虚拟主机重启代码
Access 开发人员常犯错误大全
用Asp如何实现防止网页频繁刷新?
ASP 中使用 HTTP 协议发送参数详解
为什么 Windows2003 的 IIS6.0 不能上传超过 200K 的文件?
ASP类的写法
实例学习如何在ASP中调用DLL
被动式统计网站在线人数
[原创]完美解决ASP 不能更新。数据库或对象为只读。
5天学会asp
Wrance的图片系统目录直读版1.0
信息发布中的判断过期和有效期的东西
小偷程序2
一个ASP中的数组

一个基于ASP的标题广告管理系统(二)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 81 ::
收藏到网摘: n/a

  二、管理功能

   管理部分共有12个asp文件,这些脚本的主要功能分别如下:

BannerAdminLogin.asp:管理功能的登录页面。默认的用户名称是“ADMIN USER”,密码是“PASSWORD”。
CheckBannerAdministrationPassword.asp:检查使用管理功能的用户的密码。
NotLoggedIn.asp:“没有登录”提示页面,如果在登录之前访问管理页面,则显示该页面。
BannerAdministration.asp:这是管理功能的主界面,列出了所有的广告,并提供两个按钮。这两个按钮分别用于新增广告和新增广告客户。点击广告客户名字可以编辑该广告客户,点击广告文本可以编辑该广告。
Advertisement.asp:输入新广告的信息,或编辑当前广告信息,或调用DeleteAdvertisement.asp删除当前广告。
Advertiser.asp:输入新广告客户的信息,或编辑当前广告客户信息,或调用
DeleteAdvertiser.asp删除当前广告客户。
AddAdvertisement.asp:新增广告记录,从Advertisement.asp表单获取信息,存储到数据库。
AddAdvertiser.asp:新增广告客户记录,从Advertiser.asp表单获取信息,存储到数据库。
UpdateAdvertisement.asp:从Advertisement.asp表单获取信息,更新数据库中与当前广告具有相同AdvertisementID的记录。
UpdateAdvertiser.asp:获取Advertiser.asp表单信息,更新数据库中与当前广告客户具有相同AdvertiserID的记录。
DeleteAdvertisement.asp:根据当前选中广告的AdvertisementID,删除数据库中的相应记录。注意:删除并返回管理主界面后有时需要重新刷新。
DeleteAdvertiser.asp:根据当前选中广告客户的AdvertiserID,删除相应的数据库记录。


                  【图1】

   完整代码请从本文后面下载。假设所有文件均在inetpubScripts目录下,则登录管理功能的URL为:http://localhost/scripts/BannerAdminLogin.asp。所有其他功能均可从此开始访问。

   接下来我们介绍管理功能脚本中的一些关键问题。

   ㈠ 安全

   大多数执行管理功能的页面受密码保护,这些页面在执行其任务之前都会检查一个SESSION变量以确认用户已经成功地登录。检查代码如下所示:

 ' 检查用户是否已经登录
 If SESSION( "LoggedIn" ) <> true Then
     Response.Redirect( "NotLoggedIn.asp" )
 End If
   这里所采用的安全机制较为简单,更多的说明参见《在ASP应用中验证用户身份》。

   ㈡ 列出所有的广告

   BannerAdministration.asp页面启动时会列出数据库中的所有广告记录。这部分功能通过一个简单的查询和一个记录集对象完成,如下所示:

     '列出数据库中的所有广告
      Set cn = Server.CreateObject( "ADODB.Connection" )
     cn.Open "BannerBuddy"
     Set rs = Server.CreateObject( "ADODB.RECORDSET" )
     Set rs2 = Server.CreateObject( "ADODB.RECORDSET" )
     strSql = "SELECT * FROM Advertisement"
     rs.Open strSql, cn
     strCRLF = Chr( 13 ) + Chr( 10 )
     While not rs.EOF and not rs.BOF
        ' 根据广告客户编号(AdvertiserID)查找客户名称
        strSql = "SELECT Name From Advertiser where AdvertiserID = " + _
                  CStr( rs.Fields( "AdvertiserID" ) )
         rs2.Open strSql, cn
         strAdvertiser = ""
         If not rs2.EOF and not rs2.BOF Then
             strAdvertiser = rs2.Fields( "Name" )
         End If
         Response.Write( "</tr>" + strCRLF )
         rs2.Close
         rs.MoveNext
     Wend
   系统假定数据库db.mdb的ODBC DSN为BannerBuddy,因此在运行程序之前必需设置好这个DSN。有关数据库连接和操作的更多说明