v 您现在的位置:八十年代交流网 ->>教 程 区》版   文字大小:[][][默认]

v 第1/1页
跳至
[刷新]

主题: [顶楼] 留言板制作程序教程
邮寄到我的邮箱
打印本页
收藏本贴

作者:西帅(fynewsun)发表于2003-12-18 13:24:42

上次发在TOM里,还没写完,元旦以后再续。
=======================================================

[知识点]数据库记录添加

[预备工作]假定数据库为Access,数据库、表名均为guestbook,基本字段(其它信息可自由收集):ID(留言唯一识别身份,自动编号,有序无重复)、fromname(留言用户名,字符,长度10左右)、words(留言内容,如果无限制长度可选用备注型,否则可定为字符型)、rewords(回复内容,设置与words字段相同)、adddate(留言日期,日期型,默认值设为now())、redate(回复日期,设置同adddate,不设默认值),如有必要可以收集留言用户IP、省份、个人主页、贴图等信息,此处略去。
新建addwords.asp(添加留言页面)、savewords.asp(保存留言页面)、guestbook.asp(显示留言页面)、rewords.asp(回复留言页面)、saverewords.asp(保存回复留言页面)、(conn.asp)连接数据库

[操作步骤]
1、建立数据库连接(conn.asp),内容如下(暂不讨论其中知识点):
<%
dim conn,connstr
connstr="DBQ="+server.mappath("guestbook.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
%>

2、用户发表留言页面(addwords.asp):
主要是表单,页面可自己设计,表单应收集以下内容:
fromname(单行文本),words(多行文本)
提交页面为savewords.asp。

3、保存留言页面(savewords.asp):
主要涉及到连接数据库与保持数据到数据库两个知识点,程序如下:
<!--#include file="coon.asp"-->
<%
dim fromname,words,sql
fromname =replace(trim(request.Form("fromname")),"’","´")
words=replace(trim(request.Form("words")),"’","´")
’其中过滤掉单引号,否则保存时会出错

if fromname="" then
response.write "<script>alert(’请输入您的姓名!’);history.back();</script>"
response.end
end if

if words="" then
response.write "<script>alert(’请输入留言内容!’);history.back();</script>"
response.end
end if

’可以在addwords.asp页面里用javascript在提交前先判断,不过最好在这个页面里也加上判断是否有空值

sql="INSERT INTO guestbook(fromname,words) values (’"&fromname;&"’,’"&words;&"’)"
conn.Execute sql
conn.close
set conn=nothing

Response.Write("<script>alert(’留言成功!’);window.location=’guestbook.asp’;</scrip t>")

’添加成功后的提示,可省略直接转向至guestbook页
%>

4、留言显示页面(guestbook.asp):
这也是用户看到的最首要的页面,所以可以加强一些美工,在这里只讲程序部分,程序部分如下:
<!--#include file="conn.asp"-->
<%
dim sql,rs,CurPage
response.buffer=true
CurPage =CINT(Request("CurPage"))
If Request("CurPage") = "" or Request("CurPage") = 0 then CurPage =1
’分页
%>
<html>
<head>
</head>
<body>
<br>
<br>
<br>
<%
set rs=server.createobject("ADODB.Recordset")
sql="select * from guestbook order by adddate desc"
’按留言日期降序显示
rs.open sql,conn,1,1
if rs.eof then
Response.Write "暂无留言,<a href=addwords.asp>请添加新留言。</a>"
else
RS.PageSize=10
’每页显示多少条记录,可自己设置
Dim TotalPages
TotalPages = RS.PageCount
If CurPage>RS.Pagecount Then
CurPage=RS.Pagecount
end if
RS.AbsolutePage=CurPage
rs.CacheSize = RS.PageSize
Dim Totalcount
Totalcount =INT(RS.recordcount)
%>
<table width="100%" height="20" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="12%">○第<font color="#CC0000"><%=CurPage%></font>/<%=TotalPages%>页</td>
<td width="48%">共有<font color=#D20000><%=rs.recordcount%></font>篇留言</td>
<td align="right" width="40%"> <div align="right">[<a href=guestbook.asp?Curpage=<%=Curpage%>刷新</a>][<a href=wordslist.asp?Curpage=<%=Curpage-1%>>上一页</a>] [<a href=wordslist.asp?Curpage=<%=Curpage+1%>>下一页</a>] [<a href=wordslist.asp?Curpage=1>首页</a>] [<a href=wordslist.asp?Curpage=<%=TotalPages%>>尾页</a>]</div></td>
</tr>
</table>
<br>
<%I=0
p=RS.PageSize*(Curpage-1)
do while (Not RS.Eof) and (II<RS.PageSize)
p=p+1
%>
<table width="550" border="0" cellspacing="2" cellpadding="0" align="center">
<tr>
<td width="80">内容:</td>
<td><%=rs("words")%></td>
</tr>
<tr>
<td colspan="2">来自<%=rs("fromname")%>于<%=rs("adddate")%>的留言。</td>
</tr>
<tr>
<td width="80">站方回复:</td>
<td><%=rs("rewords")%></td>
</tr>
</table>
<br>
<%
rs.movenext
II=II+1
loop%>
<table width="100%" height="20" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="12%">○第<font color="#CC0000"><%=CurPage%></font>/<%=TotalPages%>页</td>
<td width="48%">共有<font color=#D20000><%=rs.recordcount%></font>篇留言</td>
<td align="right" width="40%"> <div align="right">[<a href=guestbook.asp?Curpage=<%=Curpage%>刷新</a>][<a href=wordslist.asp?Curpage=<%=Curpage-1%>>上一页</a>] [<a href=wordslist.asp?Curpage=<%=Curpage+1%>>下一页</a>] [<a href=wordslist.asp?Curpage=1>首页</a>] [<a href=wordslist.asp?Curpage=<%=TotalPages%>>尾页</a>]</div></td>
</tr>
</table>
<%
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
<br>
</body>
</html>

[待续]

[留言] [回复]
------------------------------
一些事是永远都无法明白的
一些人是永远都无法忘记的

/bbs/photo/20031224195539.gif


主题: [2楼] [回复西帅]Re:留言板制作程序教程
邮寄到我的邮箱
打印本页
收藏本贴

作者:蓝の羽(litao2001cn)发表于2003-12-18 15:59:29

使用了buffer以后是不是还需要clear来清空呢?

[留言] [回复]
------------------------------
我是那--
在你许愿时
划过天际的那颗流星
燃烧我的生命,给你一刻的灿烂
带着你的祝福
到天堂
把我赤裸的灵魂
交给天使,换你一生的快乐


主题: [3楼] 璐子回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:璐子(chocolate862)发表于2003-12-19 0:15:48

非常感谢80spp/007.gif ASP的吧

[留言] [回复]
------------------------------
Chocolate
http://www.our80s.com/bbs/photo/2003610202412.gif


主题: [4楼] [回复璐子]西帅回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:西帅(fynewsun)发表于2003-12-19 8:24:04

是的~

[留言] [回复]
------------------------------
一些事是永远都无法明白的
一些人是永远都无法忘记的

/bbs/photo/20031224195539.gif


主题: [5楼] [回复蓝の羽]西帅回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:西帅(fynewsun)发表于2003-12-19 8:24:40

可用可不用,

[留言] [回复]
------------------------------
一些事是永远都无法明白的
一些人是永远都无法忘记的

/bbs/photo/20031224195539.gif


主题: [6楼] 逍遥游回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:逍遥游(xyy)发表于2003-12-28 0:46:17

你上次给我的代码我改了一下,变成留言可以分类的,显示是列表的了,给你发过去了,你看看收到没啊?80spp/017.gif

[留言] [回复]
------------------------------
网上逍遥游逍遥上网


主题: [7楼] [回复逍遥游]西帅回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:西帅(fynewsun)发表于2003-12-29 8:18:29

我连个影子都没收到~80spp/010.gif

[留言] [回复]
------------------------------
一些事是永远都无法明白的
一些人是永远都无法忘记的

/bbs/photo/20031224195539.gif


主题: [8楼] 逍遥游回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:逍遥游(xyy)发表于2004-1-5 22:29:43

80spp/008.gif又给你发了

[留言] [回复]
------------------------------
网上逍遥游逍遥上网


v 第1/1页
跳至
[刷新]

v 您现在的位置:八十年代交流网 ->>教 程 区》版
[返回]

公司简介 - 相关条款 - 站点地图 - 合作信息 - 网站建设 - 广告业务
Copyright  ©  2002-2004  八十年代·版权所有