asp留言板源代码
ASP入门,傻瓜操作版留言板制作(含分页)!

本文旨在告诉新手如何自己动手制作一个留言板并整合进你的网站里,并巩固与学习ASP知识,高手请绕道。
此文包含留言板与分页内容本文不进行ASP语法讲解,因为网上这类的教程太多了,只需要按照步骤来,那么只要你会用table,就会做它,并且完全可自定义样式与模式,同时学习ASP知识,了解动态网站的原理,好了废话说的太多了,我们开始吧:首先,先看看我的留言板是怎么做的/liuyan/gyzz.asp#给我留言,这是我将我的留言板整合网站系统里的样子,从这里可以看出,你可以把这样的东西放在网站任何一个地方,不止留言板,其他的东西也可以以此类推。
看完了留言板之后,咱们开始制作!第一步,设计版面,你可以自己大脑里构思或者用PHOTOSHOP设计,这是我的设计图:第二步:用Dreamweaver或者Frontpage(我是用Frontpage的)打开ly.html然后在里面做出留言板的框架,至于做框架的步骤我就不说了,如果这个都不会那我实在不好说了,然后再定义一下CSS,如下图:第三步:做好了框架以后切换到代码编辑模式,在代码最顶端加入如下代码:<%@LANGUAGE="VBScript" codepage="936"%><!--#include file="conn.asp"--><%set rs=server.createobject("adodb.recordset")sql="select user,qq,shijian,neirong,huifu,yc,id from main order by id desc" rs.open sql,conn,1,1rs.pagesize=20 '是行数tatalrecord=rs.recordcounttatalpages=rs.pagecountrs.movefirstnowpage=request.querystring("page")if nowpage&"x"="x" thennowpage=1elsenowpage=cint(nowpage)end ifrs.absolutepage=nowpagen=1%>第四步:在代码编辑模式下找到“测试一下”字样,将其替换为<%=rs("user")%>,找到“哈哈哈”字样,将其替换为<%=rs("neirong")%>,找到“1111”字样,将其替换为<%=rs("qq")%>,找到“2009”字样,将其替换为<%=rs("shijian")%>,找到“第1条留言”字样里的“1”,将其替换为<%=rs("id")%>,找到“笑什么笑”字样,将其替换为<%=rs("yc")%><%=rs("huifu")%>。
ASP 留言簿

ASP 留言簿随着IT技术的发展,留言簿在人们生活中的应用也越来越多,人们可以通过留言薄的形式给你留言。
本练习中主要实现留言簿的两个功能:留言信息的添加和查看。
Addmessage.asp和SaveMessage.asp实现留言信息的添加功能,ShowMessage.asp 实现留言信息的查看功能。
(1)新建名称为message.mdb的Access数据库,单击鼠标右键,在弹出的快捷菜单中选择【Microsoft Access 数据库】并重命名为message.mdb。
(2)新建messageTable数据表,打开message.mdb数据库,选择【创建】|【表】弹出新建表表设计器,添加留言所用到的字段,如图9-1所示。
图9-1 新建messageTable数据表(3)创建一个命名为addMessage.asp的ASP页面,主要实现留言内容的添加。
左键单击【文件】|【新建】命令,弹出【新建文档】对话框,在对话框的【文件类型】中选择【ASP VbScript】,【布局】中选择【无】,单击【创建】按钮。
(4)左键单击【文件】|【保存】命令,弹出另存为对话框。
在对话框的【文件名】中输入addMessage.asp,【保存类型】的下拉列表框中选择“Active Server Pages(*.asp;*.asa)”,单击【保存(S)】按钮。
(7)创建一个命名为SaveMessage.asp的ASP页面,主要实现留言内容添加到数据库。
左键单击【文件】|【新建】命令,弹出【新建文档】对话框,在对话框的【文件类型】中选择【ASP VbScript】,【布局】中选择【无】,单击【创建】按钮。
(8)左键单击【文件】|【保存】命令,弹出另存为对话框。
在对话框的【文件名】中输入SaveMessage.asp,【保存类型】的下拉列表框中选择“Active Server Pages(*.asp;*.asa)”,单击【保存(S)】按钮。
Dreamweaver+ASP_VBScript+ACCESS留言板设计

ASP VBScript+ACCESS留言板设计准备工作:安装好ASP服务器(IIS)和ACCESS数据库,配置IIS本地根目录为D:\MyWeb1.建立Access数据库打开ACCESS软件,新建一空白数据库,ACCESS会提示先保存数据库,定位到你的留言本所在文件夹,保存为data.mdb。
数据库设置:ID:设为主键,确定数据唯一性以保证在管理时能准确定位到相应记录Name:字段大小设为15(名字没有这么长的)Email:字段大小为20(Email地址的长度)ICON:字段大小为255Hpage:字段大小为30(很多朋友还在用二级甚至三级的域名,所以放宽一点)Date:默认值为Now ()(用Now()取得插入新记录时系统的时间)如下图,关闭并保存为main再创建表admin,以保存管理帐号,保存为admin,如下图:2.创建主页并连接数据库在Dreamweaver中新建一页,保存为index.asp,并修改页面标题为“留言板首页”,如下所示;插入一个5行1列的表格,设置宽度为650像素,边框为1,在属性选择居中对齐,在其中继续插入表格,最终效果如下图:连接数据库:按窗口打开服务器行为面板,看那四项中的前三项前是否有勾号,如果没有就是相应项在定义站点是没设置好,重新编辑Dreamweaver的站点,如果有就开始创建记录集,在服务器行为面板上单击"+"号,定义连接数据库字符串。
按数据库弹出的菜单点:自定义连接字符串"按钮,在"自定义连接字符串"对话框中填写连接名称conn,连接字符串:"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=D:aspguestbookdata.mdb"然后按测试,软件自动的生成和数据库的连接的conn.asp文件(Connections文件夹内)创建记录集,点绑定出来菜单,点记录集按如下图选择,这样就完成了连接数据库的工作。
简单ASP语言做留言板(一看就会 附图)

一、安装与调试常听朋友感叹ASP程序难学不易懂,不过我起初学习这门技术的时候也有过这样的感悟。
从今天开始,我将以我学ASP的经验来做一个简单的ASP留言本,这个留言本用了Access数据库,所以务必请大家要跟我一起做的朋友都安装好Office软件,相信各位自己的电脑上都有了。
好了,开始。
创建ASP的运行环境(安装IIS)IIS(Internet Information Service)是构建ASP站点所必须的,所以,我们应该先确认自己的电脑已安装了IIS信息服务,如果没有安装好的话,请按以下步骤:1、打开“控制面板”2、双击“添加/删除程序”3、单击“添加/删除Windows组件”,打开添加/删除Windows组件对话框:3、从下拉的列表中选择“Internet 信息服务(IIS)”单击“下一步”:4、出现组件安装进度窗口,如弹出需要安装盘的话,放入Windows2000安装盘,按提示操作即可。
直至最后安装完毕。
二、设计数据库ASP程序本身并不能储存数据,众所周知,留言本有以下信息需要保存:留言者姓名、联系方式、留言内容等等。
因为ASP并不能储存数据,所以数据库在这种环境之下就产生了。
数据库的种类也很多,针对不同的程序也有适用于它的数据库,比如Access 和Ms SQL就比较适用ASP和程序,至于其它的数据库和程序,就不属于本文所讨论的问题了,有兴趣的朋友可以查看其它一些资料。
那么既然Access和MS SQL都适用ASP,那么具体又如何来选择呢?我们可以打一个比方:比如钉一枚小钉子,聪明的人一定不会用一个大的棒槌,而是选择小的铁锤,虽然用大的棒槌也一样的可以把钉子钉进去,可是没有人愿意这样做。
数据库也一样:Access比较适用小型的应用,而MS SQL则适用于大中型的数据库应用,所以要做一个留言本,理所当然是选择Access更好一些,但是如果你决心使用MS,没有人会极力阻止你。
好了,废话少说,切入正题,下面开始创建数据库。
ASP XML留言本

ASP XML留言本留言板模块是网站上常见模块之一,是为广大浏览者提供的一个发表言论、学习交流的一个平台。
此例中,我们就以XML作为存放留言的数据库文件。
本案中包含三个文件,in dex.asp用于读取及显示留言,PostNew.asp用于签写新的留言,最后一个文件List.xml则是用于存放已经发布的留言。
(1)我们先建立一个名为ASPMessage的文件夹,本例所有用到的文件均放在此文件下。
在“ASPMessage”文件夹下建立index.asp文件。
该文件用于读取及显示留言页面。
具体实现代码如下:(4)在“E:\flyweb\FirstChapter\ASPMessage ”文件夹下建立PostNew.asp 文件。
该文件 objRootsite 对象所对应的节点为<NewList>objRootsite.childNodes.item(StarNodes)所对应的节点,就是<list>节点因为不至一个<list>节点所以用了item()来识别当前节点数据。
用于签写新的留言。
具体实现获取表单提交进来的留言信息的代码如下:(6)根据得到的数据建立XML片段,建立一个新的XML对象,然后将XML片段插图7-18 留言签写效果图7-19 留言成功效果(9)在ASPMessage文件夹下建立Lsit.xml文件。
该文件用于存储留言内容。
以下为此文件的源码:记,<fromwhere>标记为存储留言者来自地区标记,<Posttime>标记为存储留言时间标记,< homepage>为留言者主页标记,<email>标记为存储留言者电子邮箱标记,<text>标记为存储留言内容标记。
如果有留言,该文档的内容将自动变化为如下内容:(11)如果多添加几条留言信息,则最终留言本显示效果如图7-20所示: 图7-20 留言显示效果如果系统没有找到lsit.xml 文件,或xml 文件内没有规范的xml 标记,则系统会提示“Microsoft VBScript 运行时错误 (0x800A01A8)缺少对象: 'ObjXML.document Element'”错误。
一个简单的留言板代码

一个简单的留言板代码<!DOCTYPE html><html><head><meta charset='utf-8'></head><body><h1>留言板</h1><!--以下为读取留言要用的 PHP 代码 --><?php// 连接数据库$conn = mysqli_connect('ip地址', '用户名', '密码', '数据库名')or die('连接数据库失败:' . mysqli_error());// 设置数据库字符集mysqli_query($conn, 'SET NAMES UTF8');// 执行查询$sql = 'SELECT * FROM message ORDER BY created_at ASC'; // 查询语句$result = mysqli_query($conn, $sql) or die('查询数据失败:' . mysqli_error($conn));// 输出数据if (mysqli_num_rows($result) > 0) {// 输出每行数据while ($row = mysqli_fetch_assoc($result)) {echo '<div>';echo '<h3>' . $row['name'] . ' 发表于 ' . $row['created_at'] . '</h3>';echo '<p>' . $row['content'] . '</p >';echo '</div>';}} else {echo '暂无留言!';}// 关闭数据库mysqli_close($conn);><!-- 以上为读取留言结束 --><!-- 以下为发表留言 --><form action="index.php" method="POST"><div><label for="name">昵称:</label><input type="text" name="name"></div><div><label for="content">内容:</label> <textarea name="content"></textarea> </div><input type="submit" value="提交"></form><!-- 以上为发表留言结束 --></body></html>。
留言板代码
<div class="lefta"><span class="red">*</span> 姓 名:</div>
<input type="text" name="fullname" id="fullname" class="long_input">
<form method="post" action="index.php?c=post&f=setok&id=&module_id=23" onsubmit="return to_submit();">
<input type="hidden" id="_to_url" name="_to_url" value="" />
</form>
<script type="text/javascript">
function js_book(rs,id)
{
getid(id).innerHTML = rs;
}
function to_submit()
{
var fullname = getid("fullname").value;
</div>
asp有效防止网站留言板出现垃圾留言-评论实现思路asp留言板制作
asp有效防止网站留言板出现垃圾留言-评论实现思路asp留言板制作代码如下:If DateDiff(“s",request.form("intime1"), Now()) 5 thenresponse.write "SCRIPT language=JavaScriptalert("您的留言速度太快,禁止留言!");"response.write"this.location.href="vbscript:history.back()";/SCRIPT"response.endend if二.验证码代码如下:yz=cstr(request.Form("yz"))yz1=cstr(session("yz1"))if yz1yz thenResponse.Write("script language=javascriptalert("请正确输入验证码!");/script")response.redirect("sign.asp")end if三.判断来路代码如下:server_v1=Cstr(Request.ServerVariables("HTTP_*****"))"Response.Write(server_v1)server_v2=Cstr(Request.ServerVariables("SERVER_NAME")) "Response.Write(server_v2)if mid(server_v1,8,len(server_v2))server_v2 thenResponse.Write("script language=javascriptalert("禁止外部提交数据!");/script")response.endend if四.设置每日提交次数代码如下:"当用户每提交一次if request.cookies("postnum")="" thenresponse.cookies("postnum")=1response.cookies("postnum").expires=DateAdd("h", 24, Now())elseresponse.cookies("postnum")=request.cookies("postnum")+1 end ifif request.cookies("postnum") 3 thenresponse.write "SCRIPT language=JavaScriptalert("今天留言次数超过限制,禁止留言!");"response.write"this.location.href="vbscript:history.back()";/SCRIPT"response.endend if五.禁止IP代码如下:server_ip=Cstr(Request.ServerVariables("REMOTE_ADDR")) if right(server_ip,8) = "194.165." thenresponse.write "禁止重叠提交194.165."response.End()end if1、判断该发布信息是否有可靠的来路。
一个在ASP.NETMVC框架下开发的留言本示例(1)
⼀个在MVC框架下开发的留⾔本⽰例(1)刚刚学了⼏天的MVC框架⾃⼰也试着做了⼀个留⾔本的⽰例⼩程序,初步的了解了⼀下MVC框架的功能。
通过这个⽰例了解了MVC框架中的⼏个有⽤的东西。
1、HandleErrorAttribute(MVC框架内置的页⾯错误处理Filter)这个内置的处理错误的功能很简单,只能在当页⾯出现错误的时候把错误信息收集起来,并显⽰友好的错误提⽰的View(需要在web.congfig 中配置是否启⽤友好错误提⽰的customErrors节点)。
在⽤ MVC 框架模板创建web应⽤程序时会⾃动⽣成⼀个\Shared\Error.aspx 的View。
但是这个默认的错误处理功能没有实现对错误⽇志的记录,所以我们可以通过继承HandleErrorAttribute,来实现⾃⼰的MyHandleError。
MyHandleError当然我们还可以近⼀部增强这⼀部分的处理功能,⽐如将错误信息格式化的存⼊到⼀个xml⽂件中或者数据库中,这样我们就可以实现更多对错误⽇志进⾏分析和处理的⽅法了。
2、IModelBinder(对复杂类型的内置模型绑定器接⼝)通过实现这个接⼝我可以在提交表单的时候⽤,这样的代码来接收我们提交过来的数据,如:public ActionResult UserSave(User objUser)这个接⼝就相当于实现了⼀个由表单数据到业务对象数据的⼀个转换。
这样可以使得Controller中的代码更简洁更清晰。
UserBinder要使⽤这个绑定器,我们就需要先注册它,关于如何注册和更详细的使⽤⽅法可以看的内容。
3、Html.DropDownList(⽤于⽣成select的辅助⽅法)该⽅法⼀个重要的参数就是SelectList,它相当于DropDownList的数据源。
我们可以指定这个DropDownList的value和text还可以指定他的当前选中项,如:定义⼀个SelectList我们在前台页⾯上就可以这样引⽤<%=Html.DropDownList("Page", this.PageArray)%>以上所有代码都是基于 MVC Beta版的,⽬前⽰例代码还不完善,没有权限判断上的内容,以后有⼼得后再继续完善。
ASP最简单的留言本
ASP最简单的留言本一、建立文件!最简单的论坛也要有几个必要的文件,就是:1、数据库,用来储存发表的帖子!-------命名为:bbs.mdb2、有数据库就必须连接数据库,该文件用来连接数据库:----命名为:conn.asp3、发表帖子的文件----命名为:say.asp4、保存发表帖子内容的文件-----命名为:save.asp5、显示帖子标题的文件------命名为:index.asp6、显示帖子内容的文件,即点击标题后所进入的页面-----命名为:show.asp建立文件是可以先建立文本文档,他的格式为"文件名.txt",我们只需把它改为"文件名.asp"注:一定要用双引号,不然建立出来的文件还说txt 后缀的二、各文件的主要内容1、bbs.mdb打开这个数据库,就是Access建立一个表,命名为bbs该表中有几个字段:id(自动给帖子编号),他的数据类型设为“自动编号”name(用来储存发表的作者),数据类型为“文本”title(用来储存帖子的主题),数据类型为“文本”body(用来储存帖子的内容),数据类型为“备注”2、conn.asp源代码为:<%Server.scriptTimeout="10"connstr="DBQ="+server.mappath("bbs.mdb")+";D efaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"setconn=Server.CreateObject("ADODB.connection") conn.open connstr%>这个文件也没有什么好说的,就是建立和数据库文件的连接,"bbs.mdb"就是我们刚才建立的数据库文件3、say.asp源代码为:<form method="POST" action="save.asp"><p>大名:<input type="text" name="name" size="20"></p><p>标题:<input type="text" name="title" size="91"></p><p>内容:</p><p><textarea rows="11" name="body" cols="97"></textarea></p><p> </p><p><input type="submit" value="提交" name="B1"><input type="reset" value="重置" name="B2"></p></form>大家应该看得懂的,这个根本就是html语法,对的,根本就是,这个只是发表的界面不过要注意这一句<form method="POST" action="save.asp">,他把用户所填的内容发送至save.asp这个文件,下面就看save.asp这个文件吧!4、save.asp源代码:<!--#include file="conn.asp"--><%name=Replace(Request.Form("name"),"'","''" )title=Replace(Request.Form("title"),"'","''" )body=Replace(Request.Form("body"),"'","''") %><%if name="" or title="" or body="" then%> 请<a href="****:history.go(-1)">后退</a>填写完整资料,你才能发表帖子!<%else%><%set savebbs=conn.execute("insert into bbs(name,title,body)values('"&name&"','"&title&"','"&body&"')")%>发表成功!<a href="index.asp">查看帖子</a> <%end ifset savebbs=nothing%>第一句:<!--#include file="conn.asp"-->,意思是插入conn.asp文件,即与数据库进行连接!asp语句必须用<% %>这个格式包含起来,而插入文件的语句就不用,接下来几句:name=Replace(Request.Form("name"),"'","''") title=Replace(Request.Form("title"),"'","''" )body=Replace(Request.Form("body"),"'","''") “Replace(Request.Form("name"),"'","''")”意思是接收表单中名为name的文本框发来的数据,而“name=Replace(Request.Form("name"),"'","''" )”则是把发来的数据储存在name变量中,如果你这样:“abc123=Replace(Request.Form("name"),"'","' '")”就是把表单中名为name的文本框发来的数据储存在abc123变量中接着:if name="" or title="" or body="" then 判断name、title和body变量中是否没有填写内容,即为"",如果这样,就执行这一语句:“请<a href="****:history.go(-1)">后退</a>填写完整资料,你才能发表帖子!”该语句属于html语法,大家都看得懂的!"<%else%>"就是说“当if……then不成立(即是说所有内容都已经填写)”,就执行语句:“<%set savebbs=conn.execute("insert into bbs(name,title,body)values('"&name&"','"&title&"','"&body&"')")% >发表成功!<a href="index.asp">查看帖子</a>”"set save=conn.execute"属于固定的语句,不过savebbs可以自己修改,"="后面的就难解释了:insert into bbs(name,title,body)意思是向名为bbs的表(在建立数据库时已经建立的表)中的name,title,body字段插入,插入什么呢?看接下的values('"&name&"','"&title&"','"&body&"')") values是“值”的意思就是插入向量name,title,body,向量用格式'"&name&"'表示最后:end if就是结束if……thenset savebbs=nothing可以说是关闭掉:set savebbs=conn.execute("insert into bbs(name,title,body)values('"&name&"','"&title&"','"&body&"')")5、index.asp源代码:<!--#include file="conn.asp"--><b><a href="say.asp">发表帖子</a></b><br><br> <div align="center"><center><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; " bordercolor="#000000" width="100%" height="26"><tr><td width="17%"><b>作者</b></td><td width="83%"><b>主题</b></td></tr></table></center></div><hr size="1"><%i=1set showbbs=conn.execute("select*from bbs order by id desc")do while not showbbs.eof%><div align="center"><center><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; " bordercolor="#000000" width="100%" height="20"><tr><td width="17%"><%=showbbs("name")%> </td> <td width="83%"><ahref="show.asp?id=<%=showbbs("id")%>"><%=sho wbbs("title")%></a></td></tr></table></center></div><hr size="1"><%i=i+1if i>50 then exit doshowbbs.movenextLoopshowbbs.Closeset showbbs=nothing%>主要讲精华部分:set showbbs=conn.execute("select*from bbs order by id desc")意思是:向数据库中的bbs数据表查询数据,并以id排顺序,还有这么一句:<%=showbbs("name")%>就是显示数据表中的name字段的数据,这里的showbbs就是set showbbs=……中的showbbs代码中的i=1和i=i+1if i>50 then exit do showbbs.movenextLoopshowbbs.Closeset showbbs=nothing这几句属于循环语句,这里就不理他,理解了也不太好用,因为他只显示50张贴子!if i>50 then exit do中的50可以修改但我们做论坛必须把帖子分页,又因为分页这个语句太复杂,我想就不讲了,等这一个弄懂了才来弄还有一句很有用的:<ahref="show.asp?id=<%=showbbs("id")%>"><%=sho wbbs("title")%></a>里面的超连接:show.asp?id=<%=showbbs("id")%>,注意:这里的超连接把帖子的id包含了,等一下在show.asp文件中就有用了6、show.asp源代码:<!--#include file="conn.asp"--><%id=request.querystring("id")%><%set show=conn.execute("select*from bbs where id="&id&"")%><a href="index.asp"><b>回到首页</b></a><br><b><a href="say.asp">发表帖子</a></b><br><hr size="1"><table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" height="180"><tr><td width="21%" height="22"><b>作者:</b><%=show("name")%></td><td width="79%" height="22"><b>主题:</b><%=show("title")%></td></tr><tr><td width="100%" colspan="2" height="158" valign="top"><b><br>内容:</b><%=show("body")%></td></tr></table><%set show=nothing%>劲语句---精华语句:id=request.querystring("id")在讲解index.asp文件的后面已经说到:show.asp?id=<%=showbbs("id")这一句,id=request.querystring("id")就是把地址栏中的id的值读取下来,因为index.asp文件中的超连接点击后,地址栏就为http://…………/show.asp?id=数字,所以show.asp使用id=request.querystring("id")语句把数字读取下来于是接着使用:set show=conn.execute("select*from bbs where id="&id&"")向数据表查询id为这时读取下来的数字的帖子,即where id="&id&"最后<%set show=nothing%>三、一个简单的论坛就这样完成了,挂在我们自己的ASP空间上去试试还有就是所有的文件在同一个目录中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a:hover{color: #FF0033; text-decoration: underline}
六、首页文件(guest.asp)
<%
'==============================================================================
>
<tr><td>时间</td><td><%=rs("dtmSubmit")%></td></tr>
<tr><td></td><td><ahref="delete.asp?ID=<%=rs("ID")%>">删除
</a></td></tr>
</table>
<%
rs.MoveNext
Loop
'关闭对象
DimstrTitle,strBody,strName,strEmail
strTitle=myDangerEncode(Request.Form("txtTitle"))
strBody=myDangerEncode(Request.Form("txtBody"))
strName=myDangerEncode(Request.Form("txtName"))
Server.MapPath("guest.mdb")
conn.OpenstrConn
%>
三、配置文件(config.asp)
<%
ConstconGuestTitle="我的留言板" '显示在首页中留言板的名称
ConstconPwd="12456" '是删除留言的密码
%>
----------------------- Page 2-----------------------
----------------------- Page 6-----------------------
'3.本页会调用样式文件guest.css设置有关文字超链接等的样式。
'4.本页会读取config.asp中的配置,显示留言板的名称
'5.在下面显示留言时,会调用function.asp中的函数,对留言主题和内容进行编码,以
便显示HTML代码和实现换行效果。
'==============================================================================
<tr><tdcolspan="2"><hr></td></tr>
<tr><td width="20%">主题
</td><td><%=myHTMLEncode(rs("strTitle"))%></td></tr>
<tr><td>内容</td><td><%=myHTMLEncode(rs("strBody"))%></td></tr>
<html>
<head>
<title>欢迎访问我的留言板</title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<linkrel="stylesheet"href="guest.css">
<script language="JavaScript">
==================
%>
<% Option Explicit '强制声明变量%>
<!--#Include File="odbc_connection.asp"-->
<!--#Include File="function.asp"-->
<%
'下面首先获取提交过来的数据,注意其中会调用函数处理危险字符
<tr>
<td><font color="white">主题:</font></td>
<td><input type="text" name="txtTitle" size="60">*</td>
</tr><tr>
<td><font color="white">内容:</font></td>
<td><TextareaName="txtBody" Rows="4" Cols="60"></TextArea></td>
==================
'首页文件
'1.本页主要分为两部分:上面是一个添加留言的表单,表单会被提交到insert.asp;下
面是显示所有留言的部分,就是利用循环显示所有记录而已。
'2.要注意这里在表单中使用了客户端的JavaScript验证,通过验证后才会继续提交表单,
否则就提示用户重新填写。
<td><input type="text" name="txtEmail" size="40"></td>
</tr><tr>
<td></td>
<td><input type="submit" value="提交" Size="20" ></td>
</tr>
</table>
</form>
<%
'以下开显示原有留言,请注意每条留言会显示在一个表格中
----------------------- Page 5-----------------------
<tr><td>留言人</td><td><a
href="mailto:<%=rs("strEmail")%>"><%=myHTMLEncode(rs("strName"))%></a></td></tr
而导致错误。所以这里调用myDangerEncode将其中的单引号替换为了两个连续的单引号。
这样不会发生错误,而且写到数据库中后自然变成了1个单引号。
'==============================================================================
IfIsNull(myString) Then
myHTMLEncode="" '如果myString为空,则赋值空字符串
Else
myString=Replace(myString,"&","&") '替换&为字符实体&
myString=Replace(myString,"<","<") '替换<为字符实体<
rs.Close
Setrs=Nothing
conn.Close
Setconn=Nothing
%>
</body>
</html>
七、添加言文件(insert.asp)
<%
'==============================================================================
===========
'该函数用来对字符串中的危险字符进行处理。
FunctionmyDangerEncode(myString)
IfIsNull(myString) Then
myDangerEncode="" '如果myString为空,则赋值空字符串
Else
myString=Trim(myString) '去前后的空格
==================
'添加留言文件
'1.这里会获取首页提交过来的表单,然后将留言添加到数据库中。
'2.因为内容和E-mail可以省略,所以这里组成SQL语句的代码比较复杂。实际上是分成