ASP进阶教程Ⅱ:一个简单的留言簿

 
 
从本章开始我们将由一个简单的,利用文件储存访问留言的留言簿程序进入我们的教程。编写这样一个留言簿,我们大致可以从以下三个步骤来完成。

步骤一:先设计一个留言表单的网页(如:guestbook1.asp,这不用我在这儿说教了吧?)。见下图: 

步骤二:在设计好留言表单后,我们开始进行编写处理留言的ASP程序。

  我们要编写处理留言的ASP程序,最重要的问题是如何实现存取留言。而在ASP程序中,要存取文件,我们必须建立FileSystemObject对象(该对象主要用于读取Unicode或ASCII码的文件)。而要建立FileSystemObject对象,我们又可以使用以下的语句:
    SET 对象实例 = CREATEOBJECT("SCRIPTING.FILESYSTEMOBJECT")
FileSystemObject对象的方法包括:CreateTextFile 和OpenTextFile:
CreateTextFile :建立一个文件名称,并返回一个TextStream对象提供你读写文件
OpenTextFile :打开一个已存在的文件并建立一个TextStream对象以供你读写文件在建立并打开一个可供编辑的文件后,我们最后可以调用TextStream对象下的方法WriteLine(把信息写入到已打开的文件中并换行)和方法ReadLine(读取已打开文件的一行信息)来存取文件。
  因此,要实现存取留言的ASP程序,我们可以大致构思如下:
  先建立FileSystemObject对象;然后通过该对象来调用OpenTextFile打开文件或者调用CreateTextFile来创建新的文件,建立TextStream对象;最后我们再进行调用TextStream对象的WriteLine和ReadLine进行存取文件。解决了这个主要问题后,我们可以将处理留言的ASP程序写成如下所示:       
< %
Name = Request("Name") )
Email = Request("Email")
Subject = Request("Subject")
Memo = Request("Memo") 
从留言表单取得数据
If Name = "" Or Email = "" Or Subject = "" Or Memo = "" Then
Response.Write "输入框不能为空白!"
Response.End
End If 
检查表单的各输入框是否有信息输入,若留有空输入框没填则显示说明信息:"输入框不能为空白!" 并停止执行下面的程序。? 
Line1 = "留言人:" & Name
Line1 = Line1 & String(5, " ")
Email = "< A HREF=mailto:" & Email & ">" & Email & "< /A>"
Line1 = Line1 & "Email?" & Email & "< BR>"
Line2 = "主 题:" & Subject & "< BR>" 
Memo = Replace( Memo, vbCrLf, "< BR>" )
Line3 = "< TABLE BORDER=1>< TR>< TD>"
Line3 = Line3 & "您的留言:" & Memo & "< /TD>< /TR>< /TABLE>"
Line4 = "时 间:" & Now() 
定义留言的显示格式,其中留言信息用信息框框起来。
On Error Resume Next
避免如果执行下面的ReadAll(读取已打开文件的全部信息)时,无法读取信息就造成的程序错误的情况发生,因此加入此句用于忽略所有的错误。
Set fso = Server.CreateObject("Scripting.FileSystemObject") Application.Lock
TxtPath = Server.MapPath("book1.txt")
NewPath = Server.MapPath("newbook.txt")
fso.MoveFile TxtPath, NewPath
Set fin = fso.OpenTextFile(NewPath, , True)
Set fout = fso.CreateTextFile(TxtPath)
建立 FileSystemObject对象,并锁定Application对象,不让任何两位上网者同时执行留言操作,同时建立和打开一个TextStream对象,指向要对其实行操作,用于留言记录的文本book1.txt。
fout.WriteLine Line1
fout.WriteLine Line2
fout.WriteLine Line3
fout.WriteLine Line4
fout.WriteLine "< hr>"
fout.WriteLine fin.ReadAll 
把留言表单中的信息分行写入到已打开的文件中。
fin.Close
fso.DeleteFile NewPath, True
Application.UnLock
Response.Redirect "guestbook1.asp" 
关闭并删除gbookold.txt,然后解除Application对象的锁定,再指引客户端浏览器到新的Web页面guestbook1.asp。
%>
  将上述代码COPY到你的记事本,注意:要记得将所有“<”符号后面多加的空格去掉,然后存成文件manage1.asp。 

步骤三:设计留言页面

  因为我们要本留言簿的留言显示在留言表单下面,所以我们可以将以下HTML代码COPY到guestbook1.asp的最后面。
< html>
< head>
< meta http-equiv="Content-Type" content="text/html; charset=gb2312">
< title>您的留言< /title>
< link rel="stylesheet" href="../images/Text.css">
< /head>
< body TEXT="#000000" BGCOLOR="#FFFFFF" BACKGROUND="b01.jpg">
< h2 ALIGN="CENTER">您的留言< /h2>
< hr noshade color="red">
< !--#include file="book1.txt" -->
< /body>
< /html>
< % Response.End %>

  完成上述的所有步骤后,将guestbook1.asp和manage1.asp保存在WEB服务器的可执行虚拟目录(如:asp/)下,并在浏览器中用HTTP的方式进行浏览,如:http://yourcomputername/asp/guestbook1.asp。瞧!就这么简单,你已经有了自己的留言簿了。还不赶快试试!

时间: 2024-09-19 13:34:12

ASP进阶教程Ⅱ:一个简单的留言簿的相关文章

ASP进阶教程Ⅹ:留言簿自动发E-Mail

教程 ASP本身没有发送邮件的能力,但是如果你希望用ASP来发送E-MAIL(例如:你有一个消息,只想让那些在你的留言薄上留了言的上网者们知道,你希望上网者在你的留言薄上填写完成后,你的留言簿便自动将该消息E-MAIL给留言的上网者),那么你需要安装一个ASP组件.并借助这些组件来帮你实现邮件的自动发送.回复等工作.          如果你的ASP及WEB数据库的运行平台是IIS4(Internet Information Server 4.0),你可以使用CDONTS.DLL.如果你已经缺省

ASP进阶教程Ⅸ:留言查询功能(一)

 当有一天,你的心情突然变得很坏,但是巧合的是,在你的留言簿中你的网友留了一句很让你振奋的话,于是你很快就重拾了快乐的心情.但是在不久后你又一次心情变坏,但是这次却没有上次那么幸运,因为没有人给予你鼓励,于是你自然就想再看一看上次那句令你很受振奋的话.这时你就会想:假如我的留言簿有留言查询功能就好了! 为了能达成你的心愿,于是我决定在本章教程为你解说具有留言查询功能的留言簿程序.在讲解之前,让我们还是先来学习将在源程序中用到的COMMAND对象. 首先让我们先来了解一下Command对象所提供的

ASP.NET教程;一个合格的皮肤机制体系的实现

做一个WEB程序,能够在尽量修改极少程序代码的情况下,轻松制定皮肤以及切换皮肤,应该都是需要的,谁也不想,在网站界面想要改版的时候,要改一大片逻辑代码. 一个合格的皮肤机制体系的实现,应该要做到以下几点: ->页面模板上要极少拥有逻辑代码(如果模板上拥有大量逻辑代码,那估计这个也不叫作模板了). ->能够轻松改变页面布局,同时不影响程序代码(.cs). ->新模板的定制,基本上能由皮肤制作者参照旧模板自行完成,不需要开发人员太多介入. ->保持性能. 然后,来看看,都有哪些方法大家

ASP进阶教程:数据库版本的留言簿

教程|数据|数据库    在前面我们介绍了文件版本的留言簿,现在我们不妨来设想一下:如果留言文件里面的留言很多,而你又急于想寻找其中的某条留言时,这时打开txt留言文件,对着一段段的留言记录,你敢担保你不会当场晕倒吗?而且文件留言簿最令人讨厌还远不只是这个原因,更气人的是:譬如你已经找到了你要找的留言,而且是非要将其删除不可(当然是因为那段留言竟毫不留情地往你脸上抹黑的缘由啦),那么此时其余想对你大发赞赏之言的朋友,就会因为你正在做留言删除的操作而不能留言了.看,这有多可惜!不过,你也无须叹气,

ASP进阶教程Ⅲ:给留言簿润下色

为了能使我们做出来的留言簿更美观,让我们来给上一章的简单留言簿润下色,再令其留言在另外的一个单独的页面显示. 那么怎样给该留言簿润色呢?留言表单界面的背景总不能没吧?而且为了让留言表单的内容显示得更加规整,我们是否有必要用框架将留言表单的内容框起来呢?想好了,现在就让我们立即动手给我们的留言簿粉饰刷新. 步骤一:先给留言表单加上背景 这个问题我在这里就不多费口舌了.至于如何给表单的内容加点底色然后用虚框框起来,我们可以将上一章所给程序中的"定义留言的显示格式"部分进行更改.我在这里只是

ASP进阶教程:给留言簿润下色

为了能使我们做出来的留言簿更美观,让我们来给上一章的简单留言簿润下色,再令其留言在另外的一个单独的页面显示. 那么怎样给该留言簿润色呢?留言表单界面的背景总不能没吧?而且为了让留言表单的内容显示得更加规整,我们是否有必要用框架将留言表单的内容框起来呢?想好了,现在就让我们立即动手给我们的留言簿粉饰刷新. 步骤一:先给留言表单加上背景 这个问题我在这里就不多费口舌了.至于如何给表单的内容加点底色然后用虚框框起来,我们可以将上一章所给程序中的"定义留言的显示格式"部分进行更改.我在这里只是

ASP进阶教程Ⅵ:留言簿在线删除留言

还记得我们在第三章中作删除留言的事么?为了删掉那条往你脸上抹黑的留言,我们当时唯一能用上的方法竟然只有直接在留言数据库上进行查找和删除.(而即使是学习了第七章之后,我们也仅仅只能繁锁地先通过"留言管理"的密码验证,然后下载整个留言数据库,删除更改以后再上传.)天啊!你总没法保证:当你看到那些你不喜欢的留言时,正是当你正在使用着那台放了你留言簿的服务器的时候吧?假如有一天你出差在外,或是你正在使用的计算机根本就没有安装什么上传软件......是不是?无计可施了吧?那么难道我们就只能眼光光

ASP进阶教程Ⅷ:数据库版本的留言簿

 在前面我们介绍了文件版本的留言簿,现在我们不妨来设想一下:如果留言文件里面的留言很多,而你又急于想寻找其中的某条留言时,这时打开txt留言文件,对着一段段的留言记录,你敢担保你不会当场晕倒吗?而且文件留言簿最令人讨厌还远不只是这个原因,更气人的是:譬如你已经找到了你要找的留言,而且是非要将其删除不可(当然是因为那段留言竟毫不留情地往你脸上抹黑的缘由啦),那么此时其余想对你大发赞赏之言的朋友,就会因为你正在做留言删除的操作而不能留言了.看,这有多可惜!不过,你也无须叹气,虽然留言文件不能供多人共

ASP进阶教程Ⅶ:留言簿设置密码验证

为了兑现我对大家的承诺,我们现在立即就将"借助数据库和ASP程序"编写出来的,可以同时适用于IIS和PWS的安全网页看个仔细. 先睹为快,还是让我们首先就来看看该ASP程序(password.asp).< %Function CheckPassword( Name, Password )Dim conn, param, rsSet conn = Server.CreateObject("ADODB.Connection")param = "drive