仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 526|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页设计一个ASP统计制造实例

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:47:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的统计
一个能对会见者举行编号、纪录会见次数、IP、工夫的统计制造实例

我做了一个网站,www.zydn.net固然啦,跟人人一样,也摆了个计数器在下面,天天看计数器都在不休的翻,内心很乐意,不外厥后我又想,究竟是谁看了我的网站啊?是新伴侣仍是老伴侣啊?也不知他们来了几次,我还想给他们都编上号,因而我请求了收费统计,不外连续换了N个都不中意,唉,看来,只要本人下手才干人给家足了,说干就干,程度臭臭,还看妙手笑话之于,不访指教。
我以ACCESS库为例子,实在用SQLSERVER库也只需改一下链接库的语句就得啦,
库布局以下
库文件名:CONT.ASP原本是CONT.MDB但在建好后把扩大名改成了ASP,以防库被下载。
表名:tab

字段名数据范例申明
ID主动编号访客的编号
IP文本用于纪录访客的IP
dat1日期工夫用于纪录访客最初会见的工夫
dat日期工夫用于纪录访客第一次会见的工夫
CS数字,整型用于纪录访客会见次数
程序很复杂,只要两个文件,dispcont.asp用于显现统计了局,contpage.asp用于统计信息,
先看看CONTPAGE.ASP是乍么统计的,代码以下:
<%
SetConn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("cont.asp")+";DefaultDir=;DRIVER={MicrosoftAccessDriver(*.mdb)};"
Conn.Openconnstr*****以上语句用于毗连库,cont.asp是库文件名。
keren=request.cookies("keren")读取cookies,cookies的名为:“keren”,哈哈。。阿余的E文学的臭,只懂用拼音啦。
ifkeren=""then判别cookees是否是空,假如是空,那末一定是新伴侣啦,不然是老伴侣。
sql="SELECT*FROMtabwhereid=-1"
setrs=server.createobject("ADODB.Recordset")
rs.Opensql,conn,1,3
rs.addnew假如是新访客的话,在库中新增一笔记录。
rs("cs")=1记下会见次数为1
rs("ip")=request.servervariables("remote_addr")记下IP,
rs("dat")=now记下以后的日期工夫,
rs("dat1")=date记下以后的日期,今后用来做第一次会见的日期,
response.cookies("keren")=rs("id")写进一个cookies,内容就和ID一样。
response.cookies("keren").expires=date+365设置cookies的无效日期从如今入手下手,365天,

else以上是新伴侣的处置举措,对老伴侣怎样办呢?看上面的:
sql="SELECT*FROMtabwhereid="&keren到库中往找出我们老伴侣的纪录
setrs=server.createobject("ADODB.Recordset")
rs.Opensql,conn,1,3
rs("cs")=rs("cs")+1好啦,找到啦,把会见次数加上1
rs("ip")=request.servervariables("remote_addr")看看他的IP是几了,记上去。
rs("dat")=now记下如今的工夫,也就是最初一次会见的工夫,
response.cookies("keren")=rs("id")再把cookies写出来,我不知这句是不是过剩,没有试。
response.cookies("keren").expires=date+365设置cookies过时工夫,以免一年到了我就不认得他了。

endif
rs.update该记的都记下了,更新库吧。
rs.close封闭recordset工具。
setconn=nothing开释conn,我仍是以为connection要随开随关才对,放到SESSION中我以为最不成取。4

%>
好啦,纪录就做好啦,有二十几行代码,很复杂的一个小程序,但我想,妙手一定另有高着,有高着的伴侣不忘了教教阿余,
程序写好了,怎样放到页面中呢?很复杂,在首页上任意找个中央,加上这行代码:<imgsrc="contpage.asp"width="0"height="0">就好了。


接上去就是把纪录显现出来,这个能做得比阿余好的人多的是,不外仍是来现个丑。
文件名:dispcont.asp,请看代码:
<%
SetConn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("cont.asp")+";DefaultDir=;DRIVER={MicrosoftAccessDriver(*.mdb)};"
Conn.Openconnstr*****以上语句用于毗连库,cont.asp是库文件名。
page3=request("pag")
ifpage3=""thenpage3=session("contpag")分页数,以后分页
ifpage3=""thenpage3="1"
pa=request("pa")
ifpa=""thenpa=session("contpa")每页显现数
ifpa=""thenpa=15默许每页显现15条,可恣意改
session("contpag")=page3
session("contpa")=pa
pages=pa每页显现数目***************以上一段程序用于完成分页功效
SQL="SELECT*FROMtaborderby-dat,-id"
dimrs
Setrs=Server.CreateObject("ADODB.RecordSet")
rs.Opensql,conn,1,1
csi=0
cs1=0
cs100=0
csdat1=0
dowhilenotrs.eof
csi=csi+rs("cs")
ifrs("cs")=1thencs1=cs1+1
ifrs("cs")>=100thencs100+1
ifdatevalue(rs("dat"))=datethen
csdat1=csdat1+1
endif
rs.movenext
loop
ZS=RS.RECORDCOUNT
*****************************************************8以下一段程序用于分页显现
%>
<head>
<title>出色电脑统计</title>
</head>
<bodystyle="font-size:9pt"bgcolor="#D8EDF8">
共有<%Response.Writezs%>笔记录,如今是第<%Response.Writepage3%>页每页显现:[<ahref="dispcont.asp?pag=<%=page3%>&pa=15">15]条、[<ahref="dispcont.asp?pag=<%=page3%>&pa=20">20]条、[<ahref="dispcont.asp?pag=<%=page3%>&pa=30">30]条、[<ahref="dispcont.asp?pag=<%=page3%>&pa=40">40]条
[<ahref="dispcont.asp">革新]
<divalign="left">
<tableborder="0"cellpadding="0"style="font-size:9pt">
<tr><td>页码</td><%page2=1
fori=1tozssteppages
ifpage3=cstr(page2)then
%><td>[<%Response.Writepage2%>]</td>
<%else%>
<td><ahref="dispcont.asp?pag=<%Response.Writepage2%>">[<%Response.Writepage2%>]</td>
<%endif
page2=page2+1
next
sn=pages*(page3-1)以后纪录号=每页显现数*页数-每页显现数
ifsn>zsthensn=0
rs.movesn,1
**********************************以上一段用于分页
%></tr></table>
</div><tablestyle="font-size:9pt"width="100%"bordercolorlight="#000000"border="1"bordercolordark="#FFFFFF"bgcolor="#A4D1E8"cellspacing="0"cellpadding="3">
<tr><td>编号</td><td>最初会见首页</td><td>最初会见IP</td><td>首页次数</td><td>初次会见日期</td></tr><%
fori=1topages
Response.Write"</tr>"
Response.Write"<td>"&rs("ID")&"</td>"
Response.Write"<td>"&rs("dat")&"</td>"
Response.Write"<td>"&rs("IP")&"</td>"
Response.Write"<td>"&rs("CS")&"</td>"

Response.Write"<td>"&rs("DAT1")&"</td>"
Response.Write"</tr>"
rs.movenext
ifrs.eofthenexitfor
next
rs.close
%>
<tr><td>算计<%=zs%></td><td>会见次数为100次以上的有<%=cs100%></td><td>会见次数为1的有:<%=cs1%></td><td>总会见次数<%=csi%></td><td>明天会见量:<%=csdat1%></td></tr>
</table>
****************************以上是完全的分页显现全体复制上去便可用。没有思索一笔记录也没有的情形。
您能够略加修改,到场更多功效,好啦,最初请人人存眷阿余的网站:http://www.zydn.net
这里有这个小程序的演示

在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。
小妖女 该用户已被删除
沙发
发表于 2015-1-19 23:40:34 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
再现理想 该用户已被删除
板凳
发表于 2015-1-25 21:49:35 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
山那边是海 该用户已被删除
地板
发表于 2015-2-4 05:19:40 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
因胸联盟 该用户已被删除
5#
发表于 2015-2-9 16:20:04 | 只看该作者
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-27 09:53:01 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
若相依 该用户已被删除
7#
发表于 2015-3-9 00:30:46 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
海妖 该用户已被删除
8#
发表于 2015-3-16 19:19:27 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
活着的死人 该用户已被删除
9#
发表于 2015-3-22 23:57:19 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 10:46

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表