从本章开始我们将由一个简单的,利用文件储存访问留言的留言簿程序进入我们的教程。编写这样一个留言簿,我们大致可以从以下三个步骤来完成。
步骤一:先设计一个留言表单的网页(如:guestbook1.a ,这不用我在这儿说教了吧?)。见下图:
步骤二:在设计好留言表单后,我们开始进行编写处理留言的A 程序。
我们要编写处理留言的A 程序,最重要的问题是如何实现存取留言。而在A 程序中,要存取文件,我们必须建立FileSystemObject对象(该对象主要用于读取Unicode或ASCII码的文件)。而要建立FileSystemObject对象,我们又可以使用以下的语句:
SET 对象实例 = CREATEOBJECT(" CRIPTING.FILESYSTEMOBJECT")
FileSystemObject对象的方法包括:CreateTextFile 和OpenTextFile:
CreateTextFile :建立一个文件名称,并返回一个TextStream对象提供你读写文件
OpenTextFile :打开一个已存在的文件并建立一个TextStream对象以供你读写文件在建立并打开一个可供编辑的文件后,我们最后可以调用TextStream对象下的方法WriteLine(把信息写入到已打开的文件中并换行)和方法ReadLine(读取已打开文件的一行信息)来存取文件。
因此,要实现存取留言的A 程序,我们可以大致构思如下:
先建立FileSystemObject对象;然后通过该对象来调用OpenTextFile打开文件或者调用CreateTextFile来创建新的文件,建立TextStream对象;最后我们再进行调用TextStream对象的WriteLine和ReadLine进行存取文件。解决了这个主要问题后,我们可以将处理留言的A 程序写成如下所示:
< %
Name = Request(" ame") )
Email = Request("Email")
Subject = Request(" ubject")
Memo = Request("Memo")
'从留言表单取得数据
If Name = " quot; Or Email = " quot; Or Subject = " quot; Or Memo = " quot; Then
Re o e.Write "输入框不能为空白!"
Re o e.End
End If
'检查表单的各输入框是否有信息输入,若留有空输入框没填则显示说明信息:"输入框不能为空白!" 并停止执行下面的程序。?
Line1 = "留言人:" &am Name
Line1 = Line1 &am String(5, " ")
Email = " lt; A HREF=mailto:" &am Email &am " gt quot; &am Email &am " lt; /A> quot;
Line1 = Line1 &am "Email?" &am Email &am " lt; BR> quot;
Line2 = "主 题:" &am Subject &am " lt; BR> quot
Memo = Replace( Memo, vbCrLf, " lt; BR> quot; )
Line3 = " lt; TABLE BORDER=1> lt; TR> lt; TD> quot;
Line3 = Line3 &am "您的留言:" &am Memo &am " lt; /TD> lt; /TR> lt; /TABLE> quot;
Line4 = "时 间:" &am Now()
'定义留言的显示格式,其中留言信息用信息框框起来。
On Error Resume Next
'避免如果执行下面的ReadAll(读取已打开文件的全部信息)时,无法读取信息就造成的程序错误的情况发生,因此加入此句用于忽略所有的错误。
Set fso = Server.CreateObject(" cripting.FileSystemObject") A lication.Lock
TxtPath = Server.Ma ath(" ook1.txt")
NewPath = Server.Ma ath(" ewbook.txt")
fso.MoveFile TxtPath, NewPath
Set fin = fso.OpenTextFile(NewPath, , True)
Set fout = fso.CreateTextFile(TxtPath)
'建立 FileSystemObject对象,并锁定A lication对象,不让任何两位上网者同时执行留言操作,同时建立和打开一个TextStream对象,指向要对其实行操作,用于留言记录的文本book1.txt。
fout.WriteLine Line1
fout.WriteLine Line2
fout.WriteLine Line3
fout.WriteLine Line4
fout.WriteLine " lt; hr> quot;
fout.WriteLine fin.ReadAll
'把留言表单中的信息分行写入到已打开的文件中。
fin.Close
fso.DeleteFile NewPath, True
A lication.UnLock
Re o e.Redirect "guestbook1.a quot
'关闭并删除gbookold.txt,然后解除A lication对象的锁定,再指引客户端浏览器到新的Web页面guestbook1.a 。
%>
将上述代码COPY到你的记事本,注意:要记得将所有“<”符号后面多加的空格去掉,然后存成文件manage1.a 。
步骤三:设计留言页面
因为我们要本留言簿的留言显示在留言表单下面,所以我们可以将以下HTML代码COPY到guestbook1.a 的最后面。
< html>
< head>
< meta http-equiv="Content-Type" content="text/html; charset=gb2312" gt;
< title>您的留言< /title>
< link rel=" tylesheet" href="../images/Text.c quot gt;
< /head>
< body TEXT="#000000" BGCOLOR="#FFFFFF" BACKGROUND=" 01.jpg" gt;
< h2 ALIGN="CENTER" gt;您的留言< /h2>
< hr noshade color="red" gt;
< !--#include file=" ook1.txt" -->
< /body>
< /html>
< % Re o e.End %>
完成上述的所有步骤后,将guestbook1.a 和manage1.a 保存在WEB服务器的可执行虚拟目录(如:a /)下,并在浏览器中用HTTP的方式进行浏览,如:http://yourcomputername/a /guestbook1.a 。瞧!就这么简单,你已经有了自己的留言簿了。还不赶快试试!
an>


