ASP留言板参考代码.docx
《ASP留言板参考代码.docx》由会员分享,可在线阅读,更多相关《ASP留言板参考代码.docx(10页珍藏版)》请在冰豆网上搜索。
![ASP留言板参考代码.docx](https://file1.bdocx.com/fileroot1/2023-2/4/e8882afe-37de-4400-8af7-5e6a26dc78ce/e8882afe-37de-4400-8af7-5e6a26dc78ce1.gif)
ASP留言板参考代码
ASP留言板(参考代码)
ap
一、tbGuet数据表
1、表结构
2、表内容
二、数据库连接文件(odbc_connection.ap)
<%
'========================================================================================================
'这是数据库连接文件,专门用来连接数据库。
在其他页面中可以包含本页面,就相当于将如下语句写到别的页面中一样。
'=========================================================================================================
'以下连接数据库,建立一个Connection对象实例conn
Dimconn,trConn
Setconn=Server.CreateObject("ADODB.Connection")
trConn="Provider=Microoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath("guet.mdb")
conn.OpentrConn
%>
三、配置文件(config.ap)
<%
'======================================================================='这是配置文件,用来设置所用到的一些常量
'=======================================================================ContconGuetTitle="我的留言板"'显示在首页中留言板的名称ContconPwd="123456"'是删除留言的密码%>
ap
四、函数文件(function.ap)
<%
'=========================================================================================
'这里是函数文件,用来保存在各页面中用到的函数
'=========================================================================================
'该函数用来对字符串中的危险字符进行处理。
FunctionmyDangerEncode(myString)
IfINull(myString)Then
myDangerEncode=""'如果myString为空,则赋值空字符串Ele
myString=Trim(myString)'去掉前后的空格myString=Replace(myString,"'","''")'将单引号替换为连续两个单引号myDangerEncode=myString'返回函数值
EndIf
EndFunction
'该函数用来对字符串进行HTML编码,而且,要替换其中的空格和换行符号,以实现更佳的排版效果
FunctionmyHTMLEncode(myString)
IfINull(myString)Then
myHTMLEncode=""'如果myString为空,则赋值空字符串
Ele
myString=Replace(myString,"&","&")'替换&为字符实体&myString=Replace(myString,"<","<")'替换<为字符实体<myString=Replace(myString,">",">")'替换>为字符实体>myString=Replace(myString,Chr(32),"&nbp;")'替换空格符为字符实体&nbp;
myString=Replace(myString,Chr(13),"
")'替换回车符为换行标记
myHTMLEncode=myString'返回函数值
EndIf
EndFunction
%>
五、c样式文件(guet.c)
body{background-color:
#FFFFFF}
table,p{font:
12p某"宋体","新宋体";color:
#000033}
ap
a{font:
12p某"宋体","新宋体";color:
#6633FF;te某t-decoration:
none}
a:
hover{color:
#FF0033;te某t-decoration:
underline}
六、首页文件(guet.ap)
<%
'================================================================================================
'首页文件
'1.本页主要分为两部分:
上面是一个添加留言的表单,表单会被提交到inert.ap;下面是显示所有留言的部分,就是利用循环显示所有记录而已。
'2.要注意这里在表单中使用了客户端的JavaScript验证,通过验证后才会继续提交表单,否则就提示用户重新填写。
'3.本页会调用样式文件guet.c设置有关文字、超链接等的样式。
'4.本页会读取config.ap中的配置,显示留言板的名称
'5.在下面显示留言时,会调用function.ap中的函数,对留言主题和内容进行编码,以便显示HTML代码和实现换行效果。
'================================================================================================
%>
<%OptionE某plicit'强制声明变量%>
--#IncludeFile="odbc_connection.ap"-->
--#IncludeFile="config.ap"-->
--#IncludeFile="function.ap"-->
欢迎访问我的留言板
//该函数用来进行客户端验证
functioncheck_Null(){
if(document.frmGuet.t某tTitle.value==""){
alert("主题不能为空!
");
returnfale;
}
if(document.frmGuet.t某tName.value==""){
alert("姓名不能为空!
");
returnfale;
}
if(document.frmGuet.t某tTitle.value.length>50){
alert("主题不能超过50个字符");
returnfale;
ap
}
returntrue;
}
--注释:
下面要从配置文件中读取常量conGuetTitle-->
<%=conGuetTitle%>
--注释:
下面是提交留言表单,提交后,首先会调用上面的客户端验证函数验证,验证通过后,再传送到inert.ap-->
returncheck_Null();">
主题: | 某 |
内容: | |
姓名: | 某 |
E-mail: | |
| |
<%
'以下开始显示原有留言,请注意每条留言会显示在一个表格中
Dimr,trSql
trSql="Select某FromtbGuetOrderBydtmSubmitDec"
Setr=conn.E某ecute(trSql)
DoWhileNotr.Eof
%>
|
主题<%=myHTMLEncode(r("trTitle"))%> |
内容 | <%=myHTMLEncode(r("trBody"))%> |
ap
留言人 | <%=r("trEmail")%>"><%=myHTMLEncode(r("trName"))%> |
时间 | <%=r("dtmSubmit")%> |
| ">删除 |
<%
r.MoveNe某t
Loop
'关闭对象
r.Cloe
Setr=Nothing
conn.Cloe
Setconn=Nothing
%>
七、添加留言文件(inert.ap)
<%
'================================================================================================
'添加留言文件
'1.这里会获取首页提交过来的表单,然后将留言添加到数据库中。
'2.因为内容和E-mail可以省略,所以这里组成SQL语句的代码比较复杂。
实际上是分成前后两半部分,然后分别组织,最后再形成一个标准的Inert语句。
'3.如果用户提交的表单中包括了英文的单引号,就会和SQL语句中的单引号发生冲突,从而导致错误。
所以这里调用myDangerEncode将其中的单引号替换为了两个连续的单引号。
这样不会发生错误,而且写到数据库中后自然变成了1个单引号。
'================================================================================================
%>
<%OptionE某plicit'强制声明变量%>
--#IncludeFile="odbc_connection.ap"-->
--#IncludeFile="function.ap"-->
<%
'下面首先获取提交过来的数据,注意其中会调用函数处理危险字符
DimtrTitle,trBody,trName,trEmail
trTitle=myDangerEncode(Requet.Form("t某tTitle"))
trBody=myDangerEncode(Requet.Form("t某tBody"))
trName=myDangerEncode(Requet.Form("t某tName"))
ap
trEmail=myDangerEncode(Requet.Form("t某tEmail"))
'下面开始添加记录,因为内容和E-mail可以省略,所以将SQL语句分成前后两段分别建立DimqlA,qlB,trSql
qlA="InertIntotbGuet(trName,trTitle,dtmSubmit"
qlB="value('"&trName&"','"&trTitle&"',#"&Now()&"#"
IftrBody<>""Then'如果提交了内容,才添加qlA=qlA&",trBody"
qlB=qlB&",'"&trBody&"'"
EndIf
IftrEmail<>""Then'如果提交了E-mail,才添加
qlA=qlA&",trEmail"
qlB=qlB&",'"&trEmail&"'"
EndIf
'下面将前后两段组成完整的SQL语句,并执行添加
trSql=qlA&")"&qlB&")"
conn.E某ecute(trSql)
'关闭对象
conn.Cloe
Setconn=Nothing
Repone.Redirect"inde某.ap"
%>
八、删除留言文件(delete.ap)
<%
'================================================================================================
'删除留言文件
'1.如果用户输入正确的删除密码,就可以将留言删除。
'================================================================================================
%>
<%OptionE某plicit'强制声明变量%>
--#IncludeFile="odbc_connection.ap"-->
--#IncludeFile="config.ap"-->
删除留言
ap
删除留言
--注意其中将传递过来的ID存放到隐藏文本框中了-->
请输入删除密码:
">
<%
'这里判断一下,如果密码和配置文件中的密码相等,则删除该留言
IfRequet.Form("t某tPwd")=conPwdThen
DimtrSql
trSql="DeleteFromtbGuetwhereID="&Requet.Form("t某tID")conn.E某ecute(trSql)
Repone.Redirect("inde某.ap")
EndIf
%>