ASP留言板(参考代码)

更新时间:2023-05-20 05:24:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

asp

ASP留言板设计(参考代码)

一、 tbGuest数据表

1、表结构

2、表内容

二、 数据库连接文件(odbc_connection.asp)

<%

'========================================================================================================

'这是数据库连接文件,专门用来连接数据库。在其他页面中可以包含本页面,就相当于将如下语句写到别的页面中一样。

'=========================================================================================================

'以下连接数据库,建立一个Connection对象实例conn

Dim conn,strConn

Set conn=Server.CreateObject("ADODB.Connection")

strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("guest.mdb")

conn.Open strConn

%>

三、 配置文件(config.asp)

<%

'======================================================================= '这是配置文件,用来设置所用到的一些常量

'======================================================================= Const conGuestTitle="我的留言板" '显示在首页中留言板的名称 Const conPwd="123456" '是删除留言的密码 %>

asp

四、 函数文件(function.asp)

<%

'=========================================================================================

'这里是函数文件,用来保存在各页面中用到的函数

'=========================================================================================

'该函数用来对字符串中的危险字符进行处理。

Function myDangerEncode(myString)

If IsNull(myString) Then

myDangerEncode="" '如果myString为空,则赋值空字符串 Else

myString=Trim(myString) '去掉前后的空格 myString=Replace(myString,"'","''") '将单引号替换为连续两个单引号 myDangerEncode=myString '返回函数值

End If

End Function

'该函数用来对字符串进行HTML编码,而且,要替换其中的空格和换行符号,以实现更佳的排版效果

Function myHTMLEncode(myString)

If IsNull(myString) Then

myHTMLEncode="" '如果myString为空,则赋值空字符串

Else

myString=Replace(myString,"&","&amp;") '替换&为字符实体&amp; myString=Replace(myString,"<","&lt;") '替换<为字符实体&lt; myString=Replace(myString,">","&gt;") '替换>为字符实体&gt; myString=Replace(myString,Chr(32),"&nbsp;") '替换空格符为字符实体&nbsp;

myString=Replace(myString,Chr(13),"<br>") '替换回车符为换行标记<br>

myHTMLEncode=myString '返回函数值

End If

End Function

%>

五、 css样式文件(guest.css)

body{background-color:#FFFFFF}

table,p{font: 12px "宋体", "新宋体"; color:#000033}

asp

a{font: 12px "宋体", "新宋体"; color: #6633FF; text-decoration: none}

a:hover{color: #FF0033; text-decoration: underline}

六、首页文件(guest.asp)

<%

'================================================================================================

'首页文件

'1. 本页主要分为两部分:上面是一个添加留言的表单,表单会被提交到insert.asp;下面是显示所有留言的部分, 就是利用循环显示所有记录而已。

'2. 要注意这里在表单中使用了客户端的JavaScript验证,通过验证后才会继续提交表单,否则就提示用户重新填写。

'3. 本页会调用样式文件guest.css设置有关文字、超链接等的样式。

'4. 本页会读取config.asp中的配置,显示留言板的名称

'5. 在下面显示留言时,会调用function.asp中的函数,对留言主题和内容进行编码,以便显示HTML代码和实现换行效果。

'================================================================================================

%>

<% Option Explicit '强制声明变量%>

<!--#Include File="odbc_connection.asp"-->

<!--#Include File="config.asp"-->

<!--#Include File="function.asp"-->

<html>

<head>

<title>欢迎访问我的留言板</title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <link rel="stylesheet" href="guest.css">

<script language="JavaScript">

//该函数用来进行客户端验证

function check_Null(){

if (document.frmGuest.txtTitle.value==""){

alert("主题不能为空!");

return false;

}

if (document.frmGuest.txtName.value==""){

alert("姓名不能为空!");

return false;

}

if (document.frmGuest.txtTitle.value.length>50){

alert("主题不能超过50个字符");

return false;

asp

}

return true;

}

</script>

</head>

<body >

<!--注释:下面要从配置文件中读取常量conGuestTitle-->

<h1 align="center"><font face="黑体"><%=conGuestTitle%></font></h1>

<!--注释:下面是提交留言表单,提交后,首先会调用上面的客户端验证函数验证,验证通过后,再传送到insert.asp-->

<form name="frmGuest" method="POST" action="insert.asp" onSubmit="JavaScript:return check_Null();">

<table border="0" width="80%" bgcolor="#203F80" align="center"> <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><Textarea Name="txtBody" Rows="4" Cols="60"></TextArea></td> </tr><tr>

<td><font color="white">姓名:</font></td>

<td><input type="text" name="txtName" size="13">*</td> </tr><tr>

<td><font color="white">E-mail:</font></td>

<td><input type="text" name="txtEmail" size="40"></td> </tr><tr>

<td></td>

<td><input type="submit" value=" 提 交 " Size="20" ></td> </tr>

</table>

</form>

<%

'以下开始显示原有留言,请注意每条留言会显示在一个表格中

Dim rs,strSql

strSql ="Select * From tbGuest Order By dtmSubmit Desc"

Set rs=conn.Execute(strSql)

Do While Not rs.Eof

%>

<table border="0" width="80%" align="center">

<tr><td colspan="2"><hr></td></tr>

<tr><td width="20%">主题</td><td><%=myHTMLEncode(rs("strTitle"))%></td></tr>

<tr><td>内容</td><td><%=myHTMLEncode(rs("strBody"))%></td></tr>

asp

<tr><td>留言人</td><td><a href="mailto:<%=rs("strEmail")%>"><%=myHTMLEncode(rs("strName"))%></a></td></tr>

<tr><td>时间</td><td><%=rs("dtmSubmit")%></td></tr>

<tr><td></td><td><a href="delete.asp?ID=<%=rs("ID")%>">删除</a></td></tr>

</table>

<%

rs.MoveNext

Loop

'关闭对象

rs.Close

Set rs=Nothing

conn.Close

Set conn=Nothing

%>

</body>

</html>

七、 添加留言文件(insert.asp)

<%

'================================================================================================

'添加留言文件

'1. 这里会获取首页提交过来的表单,然后将留言添加到数据库中。

'2. 因为内容和E-mail可以省略,所以这里组成SQL语句的代码比较复杂。实际上是分成前后两半部分,然后分别组织, 最后再形成一个标准的Insert语句。

'3. 如果用户提交的表单中包括了英文的单引号,就会和SQL语句中的单引号发生冲突,从而导致错误。 所以这里调用myDangerEncode将其中的单引号替换为了两个连续的单引号。这样不会发生错误, 而且写到数据库中后自然变成了1个单引号。

'================================================================================================

%>

<% Option Explicit '强制声明变量%>

<!--#Include File="odbc_connection.asp"-->

<!--#Include File="function.asp"-->

<%

'下面首先获取提交过来的数据,注意其中会调用函数处理危险字符

Dim strTitle,strBody,strName,strEmail

strTitle=myDangerEncode(Request.Form("txtTitle"))

strBody=myDangerEncode(Request.Form("txtBody"))

strName=myDangerEncode(Request.Form("txtName"))

asp

strEmail=myDangerEncode(Request.Form("txtEmail"))

'下面开始添加记录,因为内容和E-mail可以省略,所以将SQL语句分成前后两段分别建立 Dim sqlA,sqlB,strSql

sqlA="Insert Into tbGuest(strName,strTitle,dtmSubmit"

sqlB="values('" & strName & "','" & strTitle & "',#" & Now() & "#"

If strBody<>"" Then '如果提交了内容,才添加 sqlA=sqlA & ",strBody"

sqlB=sqlB & ",'" & strBody & "'"

End If

If strEmail<>"" Then '如果提交了E-mail,才添加

sqlA=sqlA & ",strEmail"

sqlB=sqlB & ",'" & strEmail & "'"

End If

'下面将前后两段组成完整的SQL语句,并执行添加

strSql=sqlA & ") " & sqlB & ")"

conn.Execute(strSql)

'关闭对象

conn.Close

Set conn=Nothing

Response.Redirect "index.asp"

%>

八、 删除留言文件(delete.asp)

<%

'================================================================================================

'删除留言文件

'1. 如果用户输入正确的删除密码,就可以将留言删除。

'2. 注意,这里首先将获取过来的记录ID编号存放在一个隐藏文本框中,然后提交表单后就可以获取该ID, 从而删除该记录。

'================================================================================================

%>

<% Option Explicit '强制声明变量%>

<!--#Include File="odbc_connection.asp"-->

<!--#Include File="config.asp"-->

<html>

<head>

<title>删除留言</title>

<link rel="stylesheet" href="guest.css">

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

asp

</head>

<body >

<h2 align="center">删除留言</h2>

<!-- 注意其中将传递过来的ID存放到隐藏文本框中了 -->

<form name="frmDelete" method="POST" action="">

<center>请输入删除密码:

<input type="password" name="txtPwd" size="10" value="">

<input type="hidden" name="txtID" value="<%=Request.QueryString("ID")%>">

<input type="submit" value=" 提交 " size="20">

</center>

</form>

<%

'这里判断一下,如果密码和配置文件中的密码相等,则删除该留言

If Request.Form("txtPwd")=conPwd Then

Dim strSql

strSql="Delete From tbGuest where ID=" & Request.Form("txtID") conn.Execute(strSql)

Response.Redirect("index.asp")

End If

%>

</body>

</html>

本文来源:https://www.bwwdw.com/article/8ke4.html

Top