用ASP编写留言板
夏敏捷
2001年 7期
下面给一个用ASP编写的留言板程序的完整代码。
Guestbook.htm为客户在浏览器中看到的交互式表单页面,其源代码如下:
留言板
请留下您的建议
在databook.htm文档中存储的是各位来宾的留言,特殊之处是在文件中要使用一个定位字符串“”将文件的开始部分和具体的客户留言部分分开。ASP程序将在“”所在的位置之后插入客户的留言。
databook.htm的源文件为:
看留言
查看留言
<留言插入位置>
这样,最新的留言出现在页面的最上端;如果要把最新的留言放在页面的下端,则只需将其中的定位字符串“”移到客户留言部分和HTML文件结尾部分之间的位置就行了。
需注意的是:字符串一定要单独占一行。
Guestbook.asp文件:
<%
' 读取各输入框的数据
Name = Request("Name")
Email = Request("Email")
Subject = Request("Subject")
Memo = Request("Memo")
' 检查各输入框是否输入有数据
If Name = "" Or Memo = "" Then
Response.Write "输入框不能为空白!"
Response.End '不再处理以下的程序
End If
' 第一行包含"姓名"与"Email"
Line1 = "留言人:" & Name
Line1 = Line1 & String(5, " ") ' 插入5个汉字空格
Email = "" & Email & ""
Line1 = Line1 & "Email(Viii)" & Email & "
"
' 第二行
Line2 = "主 题:" & Subject & "
"
' 第三行为"留言",先将留言中的换行符vbCrLf 换成
Memo = Replace( Memo, vbCrLf, "
")
' 为了显示不同的背景颜色,采用表格输出
Line3 = ""
Line3 = Line3 & Memo & " |
"
' 第四行为留言"时间"
Line4 = "时 间:" & Now
On Error Resume Next ' 忽略所有的错误
' 建立 FileSystemObject对象
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Application.Lock
' 取得databook.html及databookold.html的完整路径
FilePath = Server.MapPath("databook.html")
OldFilePath = Server.MapPath("databookold.html")
' 将databook.html更名为databookold.html
fso.MoveFile FilePath, OldFilePath
' 打开databookold.html
Set fin = fso.OpenTextFile(OldFilePath, ,True)
' 建立databook.html
Set fout = fso.CreateTextFile(FilePath)
' 将留言簿中字符串""前面的内容写入文件
Do
str=fin.readline
fout.WriteLine str
Loop While str <> ""
' 写入访问者留言
fout.WriteLine Line1
fout.WriteLine Line2
fout.WriteLine Line3
fout.WriteLine Line4
fout.WriteLine "
"
' 将留言簿中以前的留言内容写入databook.html文件
do while fin.atendofstream=false
str=fin.readline
fout.WriteLine str
loop
' 关闭databookold.html
fin.Close
' 删除databookold.html
fso.DeleteFile OldFilePath, True
Application.UnLock
' 将网页导至"浏览留言"的网页databook.asp
Response.Redirect "databook.asp"
%>
databook.asp文件:显示留言内容
访问者留言簿
留言簿
返回留言表单