当前位置: 首页 > 图文教程 > 网络编程 > ASP > 广告播放和跟踪系统的制作

ASP
用ASP做一个分页程序
用ASP实现网站的“目录树”管理
网页在线人数统计的做法
用ASP生成Chart
用ASP构建你的网站新闻发布(一)
用ASP构建你的网站新闻发布(三)
如何处理ASP中的图象
用ASP编写计数器
ASP防盗链及防下载的方法
ASP数据类型
ASP组件中的安全问题
ASP漏洞集-ASP漏洞分析和解决方法
ASP漏洞集-Carello Web 使 ASP 源码暴露(APP,缺陷)
ASP漏洞集-MS IIS server的ASP安全缺陷(MS,缺陷)
ASP漏洞集-MS IIS虚拟主机ASP源码泄露(MS,缺陷)
ASP漏洞集-给你的FileSystemObject对象加把锁
ASP漏洞集-通过asp入侵web server,窃取文件毁坏系统
ASP漏洞集-MS IIS server/Frontpage Ext Server
ASP漏洞集-虚拟web目录容易泄露ASP源代码 (MS,缺陷)
ASP漏洞集-用ASP实现网页保密的两种方法

ASP 中的 广告播放和跟踪系统的制作


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

  首先你需要一个数据库放置你的广告,我们共用了2个表: blBanners 和 tblVendors表:
tblBanners结构表如下:
bID - auto number (广告ID)
bBanner - text (图像文件)
bUsedViews - number (# 标准的广告显示次数)
bTotalViews - number (# of impressions the vendor has paid for)
bClicks - number (# 标准的广告点击次数)
bURL - text (网站URL)
bShow - yes/no (用来标识广告是显示还是隐藏)
vID - number (卖主 ID)

tblVendors表结构如下:
vID - autonumber (卖主 ID - 链到tblBanners.vID)
vName - text (卖主的名字)
etc..........

第一步

现在,这个数据库已经建立了,你需要有随机地在我们的网页中显示广告并且计算显示次数。:
DSN链接不讲了,如果不会,你可以到以下地址看看:
http://www.askasp.com/toolbox.asp?Expand=True&ID=2#tool

如果是SQL,可以采用下面的相似语句:

SQL = "SELECT tblBanners.bID, tblBanners.bImage, tblBanners.bUsedViews, tblBanners.bLastViewed "
SQL = SQL & "FROM tblBanners "
SQL = SQL & "WHERE (((tblBanners.bShow)=True) AND ((tblBanners.bTotalViews)>[tblBanners].[bUsedViews]));"

在上面的SQL语句中,只有当bShow标志是True而且UsedViews(显示客户广告次数)小于TotalViews(客户总显示广告次数)的
记录才作选取(下面不翻译了,深夜了:)。

Now that we have all of the banners that we can display, we need to display a random one. We can do this
by grabbing the total number of banners, moving to the first record, and the moving to a random number,
for example:


Dim rndMax, rndNumber

Randomize

rndMax = Int(RecordSet.RecordCount)
rndNumber = Int(RND * rndMax)

RecordSet.Move rndNumber


Now that we have moved to our random banner, we now need to display the banner on our page (I am sure you
know how to do that, so I wont bore you with the details). However, Instead of using the banner's URL in
the link, we are going to use a redirect page so we can count the clicks. All we need to do is use the
banner ID in the HREF tag, for example:

a href="redirect.asp?ID=<%= BANNER ID %>"

Now that we have the link set up, we can move on to our redirect.asp page. On this page, we are going to
grab the ID that we are passing in the Query String, and grabbing the RecordSet that matches. Once we have
the RecordSet, we can grab the banner's URL, increase the Clicks by 1, and send the user to the
destination URL. Below is the code for the redirect.asp page:

<%
If Request.QueryString("ID") = "" Then
Response.Redirect("default.asp")
End If

Dim varSiteToRedirect, varURLToRedirect

varSiteToRedirect = Int(Request.QueryString("ID"))


SQL = "SELECT tblBanners.bID, tblBanners.bURL, tblBanners.bClicks "
SQL = SQL & "FROM tblBanners "
SQL = SQL & "WHERE (((tblBanners.bID)=" & varSiteToRedirect & "));"

varDatabaseName = "ask_asp_data.mdb"
%>

<!--#include file="common/data_conn_open.asp"-->

<%
If Not RecordSet.BOF Then
RecordSet.MoveFirst
End If

varURLToRedirect = RecordSet.Fields("bURL")

RecordSet.Fields("bClicks") = (RecordSet.Fields("bClicks") + 1)
RecordSet.Update
%>

<!--#include file="common/data_conn_close.asp"-->

<% Response.Redirect(varURLToRedirect) %>