欢迎光临
我们一直在努力

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

建站超值云服务器,限时71元/月

   二、管理功能

   管理部分共有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。有关数据库连接和操作的更多说明,参见《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),此处略。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 一个基于ASP的标题广告管理系统(二)
分享到: 更多 (0)