<p> 首先,我们在做留言薄之前,先做出一个输入屏的界面效果,也就是生成留言部输入屏幕的htmL页,然后在这些htmL源代码中加入ASP脚本,我这里得到的htmL代码如下。 </p><p> *文件名:book.htm </p><p> <code><html><br /><head><br /> <title>留言薄</title><br /></head><br /><body bgcolor="#BED9FC" background="images/bg.gif"><br /><p align="center"><img src="images/gbook.gif" alt="GBook.gif (12142 bytes)" WIDTH="374"<br />HEIGHT="83"> </p><br /><p align="center">[<a href="disp.asp">我要看留言板</a>] [<a href="../index.asp">返回首页</a>]</p><br /><form method="POST" action="book.asp"><br /><input type="hidden" name="task" value="insert"><div align="left"><table><br /><tr><br /><td align="right">姓名</td><br /><td><img src="images/bottom-b.gif" alt="BUTTOM-B.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td><br /><td><input name="name" size="46"></td><br /></tr><br /><tr><br /><td align="right">性别</td><br /><td><img src="images/bottom-g.gif" alt="BUTTOM-G.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td><br /><td><input name="sex" size="46"></td><br /></tr><br /><tr><br /><td align="right">来自</td><br /><td><img src="images/bottom-b.gif" alt="BUTTOM-B.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td><br /><td><input name="from" size="46"></td><br /></tr><br /><tr><br /><td align="right">主页URL</td><br /><td><img src="images/homepage.gif" alt="HomePage.gif (1232 bytes)" WIDTH="30" HEIGHT="30"></td><br /><td><input name="url" size="46"></td><br /></tr><br /><tr><br /><td align="right"> <br /> <br /> <br />E-mail</td><br /><td><img src="images/email.gif" alt="Email.gif (1197 bytes)" WIDTH="30" HEIGHT="30"></td><br /><td><input name="email" size="46"></td><br /></tr><br /><tr><br /><td align="right">留言</td><br /><td colspan="2"><textarea wrap="off" name="comments" cols="49" rows="9"></textarea></td><br /></tr><br /><tr><br /><td> </td><br /><td colspan="2"><dl><br /><dd align="center"> <input type="submit" value="我写好了"><br /> <input type="reset" value="重新再写"></dd><br /></dl><br /></td><br /></tr><br /></table><br /></div><br /></form><br /><p align="center"> </p><br /></body><br /></html><br /></code></p>
<p> </p>
<p> 您可以按这里看一下这个界面的效果(需要强调一点,这些htmL代码还是完全没有功能的)你可以把它保存为book.htm,然后用FRONTPAGE98来打开它,打开后,可以查看网页中的那个输入FORM的属性,在这个留言薄中。我们使用两个文件来处理,一个是book.asp,另一个是disp.asp,前者是一个输入界面,后者是一个显示界面,用于显示留言信息。</p><p> 现在说说book.htm,让大家了解一下其中的那个输入FORM的作用,它的action对象是本身,book.asp(等一会儿需要把book.htm改名为book.asp)这个文件,也就是说。表单提交后,由本身来作处理。在这个FORM中,有几个文本输入框,它们分别是name,sex,from,url,email,以及多行文本输入框comments。</p><p> 现在把book.htm改名为book.asp,往文件中添加ASP代码。如下:(单引号表示ASP的注析,编译器是不处理的。</p><p> *book.asp</p><p> <code><% @language="vbscript" %><br /><%<br />‘'判断请求方式,当客户端请求文件时,比如直接输入网址:http://active.silversand.net/index.htm这样,就会产生一个GET的请求信息。而提交表单时(表单的方式设为POST),就会产生POST的请求方式,现在判断book.asp这个文件是用户用浏览器打开页面,还是用户提交数据这个动作,以便进行程序处理。<br />if Request.ServerVariables("REQUEST_METHOD")="POST" then<br />‘这里判断出是由用户提交表单而调入入的页面,因此进行登记留言处理。<br />‘创建一个文件组件的服务器实例<br />set fsFilesys=CreateObject("Scripting.FileSystemObject")<br />‘打开文本文件server.mappath("/")是返回服务器发行目录的真实路径,也就是比如说:c:\Inetpub\wwwroot这个路径,然后"/realchat/book/book.txt"就是相对于这个路径基础上的路径。<br />set myText=fsFilesys.OpenTextFile(Server.MapPath("/")&"/realchat/book/book.txt")<br />‘把文本文件的所有内容读出,保存在Temp这个变量中。<br />Temp=myText.Readall<br />myText.Close<br />‘是否需要添加内容<br />if Request("task")="insert" Then<br />‘取得表单的各项的值<br />Tname=request.form("name")<br />Tsex=request.form("sex")<br />Temail=request.form("email")<br />turl=request.form("url")<br />Tfrom=request.form("from")<br />Tcomments=request.form("comments")<br />Ttime="#&@"&time<br />if Len(Tcomments)<2 Then<br />%><br /><font size="4" color="red"><br /><p align="center">对不起!你还未留言。<a href="book.asp">返回</a></font> <%<br />else<br />if Lcase(Left(Turl,7))<>"http://" Then<br />Turl="http://"&Turl<br />End if<br />Turl=Lcase(Turl)<br />‘重新创建数据文件,把原来的覆盖掉。<br />set myText=fsFilesys.CreateTextFile(Server.MapPath("/")&"/realchat/book/book.txt")<br />myText.WriteLine(Tname)<br />myText.WriteLine(Tsex)<br />myText.WriteLine(Temail)<br />myText.WriteLine(Turl)<br />myText.WriteLine(Tfrom)<br />myText.WriteLine(Tcomments)<br />myText.writeLine(Ttime)<br />myText.WriteLine(date)<br />myText.writeLine(Temp)<br />myText.Close<br />%><br /><script Language="JavaScript"><br />document.write("<h1>恭喜!您的留言已顺利提交,请按<a href='disp.asp'>这里</a>查看")<br /></script><br /><%<br />end if<br />‘至此,留言已保存入文件book.txt中<br />End if<br />else<br />‘第一次进入输入屏幕,因此显示htmL文件内容。<br />%><br /><html><br /><head><br /><title>留言薄</title><br /><% colorbg="#BED9FC" %><br /></head><br /><body bgcolor="<% =colorbg %>" background="images/bg.gif"><br /><p align="center"><img src="images/gbook.gif" alt="GBook.gif (12142 bytes)" WIDTH="374"<br />HEIGHT="83"> </p><br /><p align="center">[<a href="disp.asp">我要看留言板</a>] [<a href="../index.asp">返回首页</a>]</p><br /><form method="POST" action="book.asp"><br /><input type="hidden" name="task" value="insert"><div align="left"><table><br /><tr><br /><td align="right">姓名</td><br /><td><img src="images/bottom-b.gif" alt="BUTTOM-B.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td><br /><td><input name="name" size="46"></td><br /></tr><br /><tr><br /><td align="right">性别</td><br /><td><img src="images/bottom-g.gif" alt="BUTTOM-G.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td><br /><td><input name="sex" size="46"></td><br /></tr><br /><tr><br /><td align="right">来自</td><br /><td><img src="images/bottom-b.gif" alt="BUTTOM-B.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td><br /><td><input name="from" size="46"></td><br /></tr><br /><tr><br /><td align="right">主页URL</td><br /><td><img src="images/homepage.gif" alt="HomePage.gif (1232 bytes)" WIDTH="30" HEIGHT="30"></td><br /><td><input name="url" size="46"></td><br /></tr><br /><tr><br /><td align="right"> <br /> <br /> <br />E-mail</td><br /><td><img src="images/email.gif" alt="Email.gif (1197 bytes)" WIDTH="30" HEIGHT="30"></td><br /><td><input name="email" size="46"></td><br /></tr><br /><tr><br /><td align="right">留言</td><br /><td colspan="2"><textarea wrap="off" name="comments" cols="49" rows="9"></textarea></td><br /></tr><br /><tr><br /><td> </td><br /><td colspan="2"><dl><br /><dd align="center"> <input type="submit" value="我写好了"><br /> <input type="reset" value="重新再写"></dd><br /></dl><br /></td><br /></tr><br /></table><br /></div><br /></form><br /><p align="center"> </p><br /></body><br /></html><br /><%<br />end if<br />%></code></p>
<p> </p>
<p> 现在到disp.asp这个文件,这个文件主要完成从book.txt中提取文件内容,然后重新生成htmL代码以显示出留言内容。</p><p> 代码如下:</p><p> <code><% @language="vbscript" %><br /><html><br /><head><br /><title>留言薄</title><br /></head><br /><body background="images/back.gif"><br /><p align="center"><img src="images/gbook.gif" alt="gbook.gif (12142 bytes)" WIDTH="374" HEIGHT="83"><%<br />‘打开数据文件<br />set fsFilesys=CreateObject("Scripting.FileSystemObject")<br />set myText=fsFilesys.OpenTextFile(Server.MapPath("/")&"/realchat/book/book.txt")<br />Tname=myText.ReadLine<br />%> </p><br /><p align="center">[<font color="#00FFFF" size="4"><a href="book.asp">我要写留言</a></font>][<font color="#00FFFF"><a href="../index.asp">返回首页</a></font>]</p><br /><table width="600"><br /><%<br />do while Tname<>"Line1"<br />‘逐行读出内容(Line1)是文件结束标志<br />Tsex=myText.ReadLine<br />Temail=myText.ReadLine<br />Turl=myText.ReadLine<br />Tfrom=myText.ReadLine<br />%><br /><tr><br /><td><hr><br /></td><br /></tr><br /><tr><br />‘<%=表达式%>是向客户端输出结果<br /><th colspan="2" align="left">姓 名:<% =Tname %><br><br />性 别:<% =Tsex %><br><br />E―mail:<a href="mailto:<% =Temail %>"><% =Temail %></a><br><br />主页URL:<a href="<% =Turl %>" target="_blank"><% =turl %></a><br><br />来 自:<% =Tfrom %></th><br /></tr><br /><tr><br /><th align="left" bgcolor="<% =colorbg %>"><font color="red">留 言:</font></th><br /><th align="left" bgcolor="<% =colorbg %>"><%<br />Tcomments=myText.ReadLine<br />do while InStr(Tcomments,"#&@")=0<br />%><br /><% =Tcomments %><br /><br><br /><%<br />Tcomments=myText.ReadLine<br />loop<br />Ttime=Mid(Tcomments,4)<br />Tdate=myText.ReadLine<br />%> </th><br /></tr><br /><tr><br /><th colspan="2" align="left">时 间:<% =Ttime %> <br><br />日 期:<% =Tdate %></th><br /></tr><br /><tr><br /><td><br><br /><%<br />tname=myText.ReadLine<br />loop<br />myText.Close<br />%> </td><br /></tr><br /></table><br /><p><br><br /><br><br /></p><br /></body><br /></html></code></p></p><p> 好了,仔细地把源文件DOWN下去,自己不断修改,不断测试一下,这样对学习很有好处,看看book.txt的内容。</p><p> *book.txt的内容,里面有一条留言</p><p> 小Hu</p><p> 男</p><p> realplay@163.net</p><p> http://realplay.163.net</p><p> 佛山</p><p> 热烈兴祝“泰信心动聊天室虚拟社区”进入测试使用阶断,衷心感谢些您的到来,在测试过程中有什么问题或好的建议,请告诉我。</p><p> yesky诚邀您的加盟参与!</p><p> webmaster</p><p> wak@21:51:15</p><p> 99-7-13</p><p> Line1</p><p> 这个留言本很简单,但我觉得很有亲切感,比那些比较“现代化”的比如说心动留言薄这类的风格,朴素得多。</p></p>