一個基於ASP的標題廣告管理系統(二)

來源:互聯網
上載者:User
廣告    二、管理功能

   管理部分共有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( nAd



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.