留言薄制作 > 2、一个简单的留言簿

从本章开始我们将由一个简单的,利用文件储存访问留言的留言簿程序进入我们的教程。编写这样一个留言簿,我们大致可以从以下三个步骤来完成。 步骤一:先设计一个留言表单的网页(如: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对象,指向要对其实行僮鳎糜诹粞约锹嫉奈谋綽ook1.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的最后面。 您的留言< /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。瞧!就这么简单,你已经有了自己的留言簿了。还不赶快试试! </td></tr></table> </div> <div id="post_rate_div_369323"></div> <div class="useraction"> <a href="javascript:;" onclick="showDialog($('favoritewin').innerHTML, 'info', '收藏/关注')">收藏</a> <a href="javascript:;" id="share" onclick="showDialog($('sharewin').innerHTML, 'info', '分享')">分享</a> </div> </div> </div> </td></tr> <tr><td class="postcontent postbottom"> <div id="ad_thread1_0"></div></td> </tr> <tr> <td class="postauthor"></td> <td class="postcontent"> <div class="postactions"> <div class="postact s_clear"> <em> </em> <p> </p> </div> </div> </td> </tr> <tr class="threadad"> <td class="postauthor"></td> <td class="adcontent"> </td> </tr> </table> </div></div> <div id="postlistreply" class="mainbox viewthread"><div id="post_new" class="viewthread_table" style="display: none"></div></div> <form method="post" name="modactions" id="modactions"> <input type="hidden" name="formhash" value="b2c8c677" /> <input type="hidden" name="optgroup" /> <input type="hidden" name="operation" /> <input type="hidden" name="listextra" value="" /> </form> <script type="text/javascript">var tagarray = ['软件','手机','免费','南京智浩科技','机房报警','正版','珠江','南京','电脑','二手笔记本','南京二手笔记本','陈德志','二手笔记本批发','模块','批发出售','电脑配件','二手IBM','温度报警','教程','浩浩','IBM','论坛','朋友','支付宝','神马','歌曲','路全新','网络安全','原创歌手','MP3','托盘','宴会','分量','带宽分配','杯子','果汁','妓女','远程维护','系统安全','销售管理','蓝牙','四川旅游','ATI','歌手','网络客户','保密','检查','取证','工具','电脑软件','环境监控','交换机','诺基亚','多普达','时尚','三星','正品','三星W629','AMD','伯爵','行为管理','数码相机','空调启动切换器','空调控制器','空调启动器','空调启动切换控制器','宝贝','IBM批发','东莞','发网','批发价格','GSM机房环境监控','机房环境监控','推荐','帮忙','垃圾邮件','网络ghost','网络克隆','梭子鱼','杀毒','硬盘克隆','ibmpifa','台式','铭瑄','ISO27001','笔记本','性价比','国庆','出货','戴尔','电脑报价','出售','亏本','南京二手电脑','你来啦','即时通讯','风险管理','咨询','信息安全','清扬'];var tagencarray = ['%C8%ED%BC%FE','%CA%D6%BB%FA','%C3%E2%B7%D1','%C4%CF%BE%A9%D6%C7%BA%C6%BF%C6%BC%BC','%BB%FA%B7%BF%B1%A8%BE%AF','%D5%FD%B0%E6','%D6%E9%BD%AD','%C4%CF%BE%A9','%B5%E7%C4%D4','%B6%FE%CA%D6%B1%CA%BC%C7%B1%BE','%C4%CF%BE%A9%B6%FE%CA%D6%B1%CA%BC%C7%B1%BE','%B3%C2%B5%C2%D6%BE','%B6%FE%CA%D6%B1%CA%BC%C7%B1%BE%C5%FA%B7%A2','%C4%A3%BF%E9','%C5%FA%B7%A2%B3%F6%CA%DB','%B5%E7%C4%D4%C5%E4%BC%FE','%B6%FE%CA%D6IBM','%CE%C2%B6%C8%B1%A8%BE%AF','%BD%CC%B3%CC','%BA%C6%BA%C6','IBM','%C2%DB%CC%B3','%C5%F3%D3%D1','%D6%A7%B8%B6%B1%A6','%C9%F1%C2%ED','%B8%E8%C7%FA','%C2%B7%C8%AB%D0%C2','%CD%F8%C2%E7%B0%B2%C8%AB','%D4%AD%B4%B4%B8%E8%CA%D6','MP3','%CD%D0%C5%CC','%D1%E7%BB%E1','%B7%D6%C1%BF','%B4%F8%BF%ED%B7%D6%C5%E4','%B1%AD%D7%D3','%B9%FB%D6%AD','%BC%CB%C5%AE','%D4%B6%B3%CC%CE%AC%BB%A4','%CF%B5%CD%B3%B0%B2%C8%AB','%CF%FA%CA%DB%B9%DC%C0%ED','%C0%B6%D1%C0','%CB%C4%B4%A8%C2%C3%D3%CE','ATI','%B8%E8%CA%D6','%CD%F8%C2%E7%BF%CD%BB%A7','%B1%A3%C3%DC','%BC%EC%B2%E9','%C8%A1%D6%A4','%B9%A4%BE%DF','%B5%E7%C4%D4%C8%ED%BC%FE','%BB%B7%BE%B3%BC%E0%BF%D8','%BD%BB%BB%BB%BB%FA','%C5%B5%BB%F9%D1%C7','%B6%E0%C6%D5%B4%EF','%CA%B1%C9%D0','%C8%FD%D0%C7','%D5%FD%C6%B7','%C8%FD%D0%C7W629','AMD','%B2%AE%BE%F4','%D0%D0%CE%AA%B9%DC%C0%ED','%CA%FD%C2%EB%CF%E0%BB%FA','%BF%D5%B5%F7%C6%F4%B6%AF%C7%D0%BB%BB%C6%F7','%BF%D5%B5%F7%BF%D8%D6%C6%C6%F7','%BF%D5%B5%F7%C6%F4%B6%AF%C6%F7','%BF%D5%B5%F7%C6%F4%B6%AF%C7%D0%BB%BB%BF%D8%D6%C6%C6%F7','%B1%A6%B1%B4','IBM%C5%FA%B7%A2','%B6%AB%DD%B8','%B7%A2%CD%F8','%C5%FA%B7%A2%BC%DB%B8%F1','GSM%BB%FA%B7%BF%BB%B7%BE%B3%BC%E0%BF%D8','%BB%FA%B7%BF%BB%B7%BE%B3%BC%E0%BF%D8','%CD%C6%BC%F6','%B0%EF%C3%A6','%C0%AC%BB%F8%D3%CA%BC%FE','%CD%F8%C2%E7ghost','%CD%F8%C2%E7%BF%CB%C2%A1','%CB%F3%D7%D3%D3%E3','%C9%B1%B6%BE','%D3%B2%C5%CC%BF%CB%C2%A1','ibmpifa','%CC%A8%CA%BD','%C3%FA%ACu','ISO27001','%B1%CA%BC%C7%B1%BE','%D0%D4%BC%DB%B1%C8','%B9%FA%C7%EC','%B3%F6%BB%F5','%B4%F7%B6%FB','%B5%E7%C4%D4%B1%A8%BC%DB','%B3%F6%CA%DB','%BF%F7%B1%BE','%C4%CF%BE%A9%B6%FE%CA%D6%B5%E7%C4%D4','%C4%E3%C0%B4%C0%B2','%BC%B4%CA%B1%CD%A8%D1%B6','%B7%E7%CF%D5%B9%DC%C0%ED','%D7%C9%D1%AF','%D0%C5%CF%A2%B0%B2%C8%AB','%C7%E5%D1%EF'];parsetag(369323);</script> <div class="forumcontrol s_clear"> <table cellspacing="0" cellpadding="0" > <tr> <td class="modaction"> </td> <td> <span class="pageback"><a href="forumdisplay.php?fid=1">返回列表</a></span> <span class="replybtn"><a href="post.php?action=reply&fid=1&tid=55833" onclick="showWindow('reply', this.href);return false;">回复</a></span> <span class="postbtn" id="newspecialtmp" onmouseover="$('newspecial').id = 'newspecialtmp';this.id = 'newspecial';showMenu({'ctrlid':this.id})"><a href="post.php?action=newthread&fid=1" onclick="showWindow('newthread', this.href);return false;">发帖</a></span> </td> </tr> </table> </div> <div class="popupmenu_popup" id="fjump_menu" style="display: none"> <dl><dt><a href="index.php?gid=270">使用交流</a></dt><dd><ul><li class="current"><a href="forumdisplay.php?fid=1">网络安全</a></li><li><a href="forumdisplay.php?fid=18">网络技术</a></li></ul></dd></dl><dl><dt><a href="index.php?gid=188">娱乐休闲</a></dt><dd><ul><li><a href="forumdisplay.php?fid=2">灌水乐园</a></li><li><a href="forumdisplay.php?fid=413">文学天地</a></li><li><a href="forumdisplay.php?fid=353">美图欣赏</a></li></ul></dd></dl><dl><dt><a href="index.php?gid=409">网站办公</a></dt><dd><ul><li><a href="forumdisplay.php?fid=14">站务处理</a></li></ul></dd></dl></div> <div id="favoritewin" style="display: none"> <h5> <a href="javascript:;" onclick="ajaxget('my.php?item=favorites&tid=55833', 'favorite_msg');return false;" class="lightlink">[收藏此主题]</a>  <a href="javascript:;" onclick="ajaxget('my.php?item=attention&action=add&tid=55833', 'favorite_msg');return false;" class="lightlink">[关注此主题的新回复]</a> </h5> <span id="favorite_msg"></span> </div> <div id="sharewin" style="display: none"> <h5> <a href="javascript:;" onclick="setCopy('留言薄制作 > 2、一个简单的留言簿\nhttp://bbs.thysea.com/viewthread.php?tid=55833', '帖子地址已经复制到剪贴板<br />您可以用快捷键 Ctrl + V 粘贴到 QQ、MSN 里。')" class="lightlink" />[通过 QQ、MSN 分享给朋友]</a><br /><br /> </h5> </div> </div><div id="ad_footerbanner1"></div><div id="ad_footerbanner2"></div><div id="ad_footerbanner3"></div> <div id="footer"> <div class="wrap s_clear"> <div id="footlink"> <p> <strong><a href="http://www.thysea.com/" target="_blank">黑色海岸线</a></strong> <span class="pipe">|</span><a href="mailto:support@microsoft.com">联系我们</a> <span class="pipe">|</span><a href="stats.php">论坛统计</a><span class="pipe">|</span><a href="archiver/" target="_blank">Archiver</a></p> <p class="smalltext"> GMT+8, 2025-1-10 22:00, <span id="debuginfo">Processed in 0.046320 second(s), 5 queries, Gzip enabled</span>. </p> </div> <div id="rightinfo"> <p>Powered by <strong><a href="http://www.discuz.net" target="_blank">Discuz!</a></strong> <em>7.2</em></p> <p class="smalltext">© 2001-2009 <a href="http://www.comsenz.com" target="_blank">Comsenz Inc.</a></p> </div></div> </div> </body> </html>