繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP基础 >> 一个基于ASP的标题广告管理系统(转)(二)

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

2006-06-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:   二、管理功能    管理部分共有12个ASP文件,这些脚本的主要功能分别如下: BannerAdminLogin.ASP:管理功能的登录页面。默认的用户名称是“ADMIN USER”,密码是“PASSword”。 CheckBannerAdministratio...

   二、管理功能

   管理部分共有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),此处略。

责任编辑:admin
相关文章