VB 版 (精华区)
发信人: folmorse (◆金瓶楼主◆), 信区: VB
标 题: 个人主页留言簿的制作(转自动感网络).
发信站: 大红花的国度 (Sun Jun 11 15:05:47 2000), 转信
个人主页留言薄的制作
先做一个比教简单的主页留言部,这个
留言薄并没有使用数据库,它使用了文本文件来保存留言信息,因此,你必须确认对执
行保存文件I的目录有读写权限,否则将会无法建立文件。
首先,我们在做留言薄之前,先使用FRONTPAGE98做出一个输入屏的界面效果,也就
是生成留言部输入屏幕的HTML页,然后在这些HTML源代码中加入ASP脚本,我这里得到的
HTML代码如下。
*文件名:book.htm
<html>
<head>
<title>留言薄</title>
</head>
<body bgcolor="#BED9FC" 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="../i
ndex.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"> &nbs
p;
E-mail</td>
<td><img src="images/email.gif" alt="Email.gif (1197 bytes)" WIDTH="30" HEIG
HT="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"></te
xtarea></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>
您可以按这里看一下这个界面的效果(需要强调一点,这些HTML代码还是完全没有
功能的)
你可以把它保存为book.htm,然后用FRONTPAGE98来打开它,打开后,可以查看网页中的
那个输入FORM的属性,在这个留言薄中。我们使用两个文件来处理,一个是book.asp,
另一个是disp.asp,前者是一个输入界面,后者是一个显示界面,用于显示留言信息。
现在说说book.htm,让大家了解一下其中的那个输入FORM的作用,它的action对象
是本身,book.asp(等一会儿需要把book.htm改名为book.asp)这个文件,也就是说。
表单提交后,由本身来作处理。在这个FORM中,有几个文本输入框,它们分别是name,
sex,from,url,email,以及多行文本输入框comments。
现在把book.htm改名为book.asp,往文件中添加ASP代码。如下:(单引号表示ASP
的注析,编译器是不处理的。
*book.asp
<% @language="vbscript" %>
<%
‘'判断请求方式,当客户端请求文件时,比如直接输入网址:http://active.silvers
and.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.t
xt")
‘把文本文件的所有内容读出,保存在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="../i
ndex.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"> &nbs
p;
E-mail</td>
<td><img src="images/email.gif" alt="Email.gif (1197 bytes)" WIDTH="30" HEIG
HT="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"></te
xtarea></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.t
xt")
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">留 &n
bsp;言:</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
佛山
热烈兴祝“泰信心动聊天室虚拟社区”进入测试使用阶断,衷
心感谢些您的到来,在测试过程中有什么问题或好的建议,请
告诉我。
网络之门系列站点诚邀您的加盟参与!
webmaster
#&@21:51:15
99-7-13
Line1
这个留言本很简单,但我觉得很有亲切感,比那些比较“现代化”的比如说心动留
言薄这类的风格,朴
--
※ 修改:.folmorse 于 Jun 11 15:04:57 修改本文.[FROM: hpwei.hit.edu.cn]
※ 来源:.华南网木棉站 bbs.gznet.edu.cn.[FROM: 202.38.248.34]
--
※ 转寄:.华南网木棉站 bbs.gznet.edu.cn.[FROM: hpwei.hit.edu.cn]
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: folmorse.bbs@melon.g]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.325毫秒