现在把book.htm改名为book.asp,往文件中添加asp代码。如下:(单引号表示asp的注析,编译器是不处理的。
*book.asp
| <% @language="vbscript" %> <% ‘判断请求方式,当客户端请求文件时,比如直接输入网址:http://active.silversand.net/index.htm这样,就会产生一个get的请求信息。而提交表单时(表单的方式设为post),就会产生post的请求方式,现在判断book.asp这个文件是用户用浏览器打开页面,还是用户提交数据这个动作,以便进行程序处理。 if request.servervariables("request_method")="post" then ‘这里判断出是由用户提交表单而调入入的页面,因此进行登记留言处理。 ‘创建一个文件组件的服务器实例 set fsfilesys=createobject("scripting.filesystemobject") ‘打开文本文件server.mappath("/")是返回服务器发行目录的真实路径,也就是比如说:c:\inetpub\wwwroot这个路径,然后"/realchat/book/book.txt"就是相对于这个路径基础上的路径。 set mytext=fsfilesys.opentextfile(server.mappath("/")&"/realchat/book/book.txt") ‘把文本文件的所有内容读出,保存在temp这个变量中。 temp=mytext.readall mytext.close ‘是否需要添加内容 if request("task")="insert" then ‘取得表单的各项的值 tname=request.form("name") tsex=request.form("sex") temail=request.form("email") turl=request.form("url") tfrom=request.form("from") tcomments=request.form("comments") ttime="#&@"&time if len(tcomments)<2 then %> <font size="4" color="red"> <p align="center">对不起!你还未留言。<a href="book.asp">返回</a></font> <% else if lcase(left(turl,7))<>"http://" then turl="http://"&turl end if turl=lcase(turl) ‘重新创建数据文件,把原来的覆盖掉。 set mytext=fsfilesys.createtextfile(server.mappath("/")&"/realchat/book/book.txt") mytext.writeline(tname) mytext.writeline(tsex) mytext.writeline(temail) mytext.writeline(turl) mytext.writeline(tfrom) mytext.writeline(tcomments) mytext.writeline(ttime) mytext.writeline(date) mytext.writeline(temp) mytext.close %> <script language="javascript"> document.write("<h1>恭喜!您的留言已顺利提交,请按<a href=disp.asp>这里</a>查看") </script> <% end if ‘至此,留言已保存入文件book.txt中 end if else ‘第一次进入输入屏幕,因此显示html文件内容。 %> <html> <head> <title>留言薄</title> <% colorbg="#bed9fc" %> </head> <body bgcolor="<% =colorbg %>" background="images/bg.gif"> <p align="center"><img src="images/gbook.gif" alt="gbook.gif (12142 bytes)" width="374" height="83"> </p> <p align="center">[<a href="disp.asp">我要看留言板</a>] [<a href="../index.asp">返回首页</a>]</p> <form method="post" action="book.asp"> <input type="hidden" name="task" value="insert"><div align="left"><table> <tr> <td align="right">姓名</td> <td><img src="images/bottom-b.gif" alt="buttom-b.gif (179 bytes)" width="16" height="16"></td> <td><input name="name" size="46"></td> </tr> <tr> <td align="right">性别</td> <td><img src="images/bottom-g.gif" alt="buttom-g.gif (179 bytes)" width="16" height="16"></td> <td><input name="sex" size="46"></td> </tr> <tr> <td align="right">来自</td> <td><img src="images/bottom-b.gif" alt="buttom-b.gif (179 bytes)" width="16" height="16"></td> <td><input name="from" size="46"></td> </tr> <tr> <td align="right">主页url</td> <td><img src="images/homepage.gif" alt="homepage.gif (1232 bytes)" width="30" height="30"></td> <td><input name="url" size="46"></td> </tr> <tr> <td align="right"> e-mail</td> <td><img src="images/email.gif" alt="email.gif (1197 bytes)" width="30" height="30"></td> <td><input name="email" size="46"></td> </tr> <tr> <td align="right">留言</td> <td colspan="2"><textarea wrap="off" name="comments" cols="49" rows="9"></textarea></td> </tr> <tr> <td> </td> <td colspan="2"><dl> <dd align="center"> <input type="submit" value="我写好了"> <input type="reset" value="重新再写"></dd> </dl> </td> </tr> </table> </div> </form> <p align="center"> </p> </body> </html> <% end if %> |
现在到disp.asp这个文件,这个文件主要完成从book.txt中提取文件内容,然后重新生成html代码以显示出留言内容。
代码如下:
| <% @language="vbscript" %> <html> <head> <title>留言薄</title> </head> <body background="images/back.gif"> <p align="center"><img src="images/gbook.gif" alt="gbook.gif (12142 bytes)" width="374" height="83"><% ‘打开数据文件 set fsfilesys=createobject("scripting.filesystemobject") set mytext=fsfilesys.opentextfile(server.mappath("/")&"/realchat/book/book.txt") tname=mytext.readline %> </p> <p align="center">[<font color="#00ffff" size="4"><a href="book.asp">我要写留言</a></font>][<font color="#00ffff"><a href="../index.asp">返回首页</a></font>]</p> <table width="600"> <% do while tname<>"line1" ‘逐行读出内容(line1)是文件结束标志 tsex=mytext.readline temail=mytext.readline turl=mytext.readline tfrom=mytext.readline %> <tr> <td><hr> </td> </tr> <tr> ‘<%=表达式%>是向客户端输出结果 <th colspan="2" align="left">姓 名:<% =tname %><br> 性 别:<% =tsex %><br> e—mail:<a href="mailto:<% =temail %>"><% =temail %></a><br> 主页url:<a href="<% =turl %>" target="_blank"><% =turl %></a><br> 来 自:<% =tfrom %></th> </tr> <tr> <th align="left" bgcolor="<% =colorbg %>"><font color="red">留 言:</font></th> <th align="left" bgcolor="<% =colorbg %>"><% tcomments=mytext.readline do while instr(tcomments,"#&@")=0 %> <% =tcomments %> <br> <% tcomments=mytext.readline loop ttime=mid(tcomments,4) tdate=mytext.readline %> </th> </tr> <tr> <th colspan="2" align="left">时 间:<% =ttime %> <br> 日 期:<% =tdate %></th> </tr> <tr> <td><br> <% tname=mytext.readline loop mytext.close %> </td> </tr> </table> <p><br> <br> </p> </body> </html> |
好了,仔细地把源文件down下去,自己不断修改,不断测试一下,这样对学习很有好处,看看book.txt的内容。
*book.txt的内容,里面有一条留言
小hu
男
realplay@163.net
http://realplay.163.net
佛山
热烈兴祝“泰信心动聊天室虚拟社区”进入测试使用阶断,衷心感谢些您的到来,在测试过程中有什么问题或好的建议,请告诉我。
yesky诚邀您的加盟参与!
webmaster
wak@21:51:15
99-7-13
line1
这个留言本很简单,但我觉得很有亲切感,比那些比较“现代化”的比如说心动留言薄这类的风格,朴素得多。
文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




