您的位置:首页精文荟萃软件资讯 → 一个基于ASP的标题广告管理系统(二)

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

时间:2004/10/7 19:06:00来源:本站整理作者:蓝点我要评论(0)


            
             
              
             
            

               
               

            



            二、管理功能

   管理部分共有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( "" + strCRLF )
  rs2.Close
  rs.MoveNext
  Wend
   系统假定数据库db.mdb的ODBC DSN为BannerBuddy,因此在运行程序之前必需设置好这个DSN。有关数据库连接和操作的更多说明,参见《ASP应用中数据库记录的选取与过滤》。

   在广告清单中,单击广告客户名字可以编辑该广告客户的信息,单击“文本/图形”栏中的文本可以编辑该广告的信息,单击图片链接可以查看图片。

   ㈢ 新增、修改广告和广告客户

   AddAdvertisement.asp和AddAdvertiser.asp这两个脚本的任务是获取提交给它们的表单数据,创建广告客户或广告数据库记录。下面的代码用于新增广告记录,新增广告客户(AddAdvertiser.asp)的代码也类似,此处略。

 ' 连接到数据库,创建记录集对象rs,略...
 strStartDate = Request.Form( "StartMonth" ) + "/" + _
  Request.Form( "StartDay" ) + "/" + _
  Request.Form( "Startyear" )
 strEndDate = Request.Form( "EndMonth" ) + "/" + _
  Request.Form( "EndDay" ) + "/" + _
  Request.Form( "Endyear" )
 
 nStatus = 1
 If UCase( Request.Form( "Status" ) ) = "INACTIVE" Then
  nStatus = 0
 End If
 
 ' 根据所选择的广告客户名字,获取其编号
 nAdvertiserID = 1
 strSql = "select AdvertiserID from Advertiser where Name = '" + _
  Request.Form( "Advertiser" ) + "'"
 rs.Open strSql, cn
 If not rs.EOF and not rs.BOF Then
  nAdvertiserID = rs.Fields( "AdvertiserID" )
  If IsNull( nAdvertiserID ) Then
  nAdvertiserID = 1
  End If
 End If
 
 ' 生成一个新的广告编号
 nAdvertisementID = 1
 strSql = "select AdID=Max( AdID ) from Advertisement"
 rs.Close
 rs.Open strSql, cn
 If not rs.EOF and not rs.BOF Then
  nAdvertisementID = rs.Fields( "AdID" ) + 1
  If IsNull( nAdvertisementID ) Then
  nAdvertisementID = 1
  End If
 End If
 
 ' 插入新广告记录的SQL命令
 strSql = "insert into Advertisement " + _
  "( AdvertiserID, Status, ImageURL, " + _
  "ImageWidth, ImageHeight, Link, " + _
  "AltText, Weight, StartDate, EndDate, " + _
  "ViewLimit, ClicksLimit, AdID ) Values ( "
 strSql = strSql + CStr( nAdvertiserID ) + ", "
 ' 加上其他字段值,略...
 strSql = strSql + CStr( nAdvertisementID ) + " )"
 
 rs.Close
 rs.Open strSql, cn
   修改广告、广告客户信息分别由UpdateAdvertiser.asp和UpdateAdvertiser.asp完成,这两个脚本和AddAdvertisement.asp、AddAdvertiser.asp非常相似,只是把增加记录操作改成了修改记录。删除广告、广告客户的脚本很简单(分别为DeleteAdvertisement.asp和DeleteAdvertiser.asp),此处略。

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本