做了几年的网页,到处留言千千万,用过各种留言本万万千。可惜令我喜欢的留言本真少(55555),慢慢的速度让我无法忍受,丑陋的界面让我心烦,图标更是让人作呕,所以我下决心写一个自己的超级留言本,阿余半夜起来,挑灯奋战,忙了一整天,终于。咱的“超级留言本1.0”出现了,它速度极快。因为根本就是HTML的,并没有一个冗余的代码,图标全是根据俺自己 and 俺的“那个”绘制的,还可以随时修改配色方案,呵呵,不敢独享,赶忙写给大家,不对的地方,不要忘了到 www.zydn.net 去骂呀,阿余在那里等候你的批判。
好了,下里具体讲讲我的留言本怎么做的吧。(第一次写教程,还不懂怎么开头)
为了方便管理,这是一个基于数据库的留言本程序,先看看我的库结构,(ACCESS 2000)
库中有三个表,第一个 ly 就是用来放留言的啦,有12个字段。。。。(现在看来,用不了这么多的,我也不想改啦)
1姓名 2性别 3地址 4内容(备注) 5时间(日期时间) 6日期(日期时间) 7心情 8ID(自动编号) 9URL 10 URLNAME 11 EMAIL 12 脸,
第二个表 color 用于存放配色方案 有3个字段 1 名称 2 ID(自动编号) 3 方案
第三一个表 PAS 用来放管理员密码啦,但这个程序的安全性没有充分考虑的,朋友们要自已修改啦。
首先做一个表单,用于录入我们的留言,存为文件名: index1.htm 代码如下,你把他全复制了在FONTPAGE中粘出来就得啦。
****************************
| 阿余的超级留言本 |
*************************
然后再写一个程序把我们这些内容加入到数据库中,我就不全写出来啦,这样的话,这篇文章会好长的,你们只要到 WWW.ZYDN.NET 去下一人来就得了,文件名是savely.asp
注意其中这几个语句:
abcc=len(lr)
sclr=""
absn=1
do while absn alsa1=mid(lr,absn,1) if asc(alsa1)=13 then alsa1=" if alsa1="<" then alsa1="<" if alsa1=">" then alsa1=">" sclr=sclr+alsa1 absn=absn+1 loop lr=sclr 这是用来判断用户输入的内容中是否有超文本代码,是否有回车,并把超 文件的“<”“>”转为“<”“>”,把回车(换行)转为“<br>”,稍加发挥,这段程序可以做不少事,如哪位朋友有更好的办法不妨告诉我一声。存完内容后用response.redirect "DISP.ASP" 把库中的内容显示出来。 好啦,然后把数据库显出来不就成了一个留言本? 开始的时候我也这样想,但我发现这要读数据库,ASP文件要经ASP.DLL,速度很慢这哪还能叫超级留言本!!阿余苦苦思索了整整。。。。不知多久。。(想着想着睡着啦),一觉醒来,茅塞顿开,把数据库中的东东读出来,再用FILESYSTEMOBJECT写为HTML不就行了?读HTML可比读数据库快多啦,啊。说干就干,于是DISP.ASP 这个文件出来啦 ********************************以下是disp.asp的全部内容 <% Set Conn=Server.CreateObject("ADODB.Connection") Connstr="DBQ="+server.mappath("zyly.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" Conn.Open connstr SQL="SELECT * FROM ly order by id" dim ra Set ra=Server.CreateObject("ADODB.RecordSet") ra.Open sql,conn,1,1 '*****以上用于连接数据库,读出库中的内容,典型的ADO连接ACCESS的数据库 if ra.eof or ra.bof then %>尚无内容<% else set xm=ra("姓名") set xb=ra("性别") set lz=ra("地址") set lr=ra("内容") set dat=ra("日期") set tim=ra("时间") set emai=ra("email") set UR=ra("URL") set urlname=ra("urlname") set lian=ra("脸") set biao=ra("心情") i=1 ra.movelast lylr="" do while not ra.bof and i<=100 '由于有这一句 I<=100所以,本留言最多显示100条留言,要显示更多的话,把这个数改大一些就行啦 lylr=lylr+" <% if trim(emai)<>"" then lylr=lylr+" end if if trim(urlname)<>"" or trim(ur)<>"" then lylr=lylr+" end if lylr=lylr+" if trim(lz)<>"" then lylr=lylr+" end if lylr=lylr+"
" 姓名: "+xm+" 时间:"+cstr(year(dat))+"年"+cstr(month(dat))+"月"+cstr(day(dat))+"日 "+tim+" " %>
EMAIL: "+emai+" "
主页:"+urlname+" "
"
来自: "+lz+" "
"+lr+"
"
i=i+1
ra.moveprevious
loop ' 以上把数据库中的内容全读到了lylr变量中,一篇留言就做好啦,这时如用<%=LYLR%>显示出来就是一篇不错的留言了,注意其中不少用颜色地方都换成变量了,这是为了好改页面的颜色,
ra.close
end if %>
<%lylr1="
"+bt+" |
| 写点什么 | 管理版面 | 退出 |
<%
lylr=lylr1+"
"+lylr+"
| 此程序由重庆市卓越电脑公司开发 | EMAIL: coolkk@21cn.com | 电话:023-48650340 023-48658712 |
| 地址:重庆市綦江县中山路卓越电脑公司 | 卓越留言本2.0版 | 邮编:401420 |
'好啦,到这里我们的留言内容全部做好啦。
set fs= createobject("scripting.filesystemobject")
set ts=fs.createtextfile(""&patha&"index.htm",true) 'PATHA是放在PATH.INC中的一个变量,当前路径
ts.writeline(lylr) '建立一个文件,并把留言内容(LYLR)写入其中,
ts.close
response.redirect "index.htm" ' 转向我们建立的 index.htm 留言显示出来啦
%>
***************** 以上是disp.asp的全部内容
开始的 用于调入留言本的配色方案,而后的用于调入当前路径。
下面对color.inc 和 path.inc 作个说明
color.inc 由以后要介绍的一个配色方案程序生成,
而path.inc的内容如下:
<%
patha=server.MapPath("path.asp")
patha=left(patha,len(patha)-8) %>用于取得程序存放的路径,由于要在别的地方用所以就写成一个单独的文件了。这个方法好象很笨,望高手能教教阿余。
好啦,今天就写到这里,明天继续,您可到www.zydn.net 下载全部源程序。
如果谁有意见的话请给我来信coolkk@21cn.com 或访问我的网站www.zydn.net

