NEWSZW_HZH_BEGIN-->
< html>
< body>
< form action="manage.asp" method="post">
< input type="text" size="10" name="username">
< input type="text" size="10" name="homepage">
< input type="text" size="10" name="Email">
< /form>
< /body>
< /html>
manage.asp
< %
strName = Request.Form("username")
strHomePage = Request.Form("homepage")
strEmail = Request.Form("Email")
' 获取表单信息 .
Set fso = Server.CreateObject("Scripting.FileSystemObject")
' 创建 fso 对象 .
path = "c:chunfeng/form.txt"
ForReading = 1, ForWriting = 2, ForAppending = 3
set file = fso.opentextfile(path, ForAppending, trUE)
' 打开文件 . OpenTextFile 方法将返回一个 TextStream 对象 , 这个对象揭示了操作文件内容的方法 , 如写、读一行、跳过一行 . 另我们还在 OpentextFile 的命令参数中定义了 trUE, 意为如文件不存在 , 就创建它 . 因为如果文件不存在 , 且没定义 trUE 参数 , 系统就会出错 .
file.write(strName) & vbcrlf
' VB 常量 vbcrlf 产生一个换行符 .
file.write(strHomePage) & vbcrlf
file.write(strEmail) & vbcrlf
' 向文件写信息 .
file.close
set file = nothing
set fso = nothing
' 清空 .
现在打开 form.txt ,可以看到如下的信息:
User's name
User's home page
User's email
我们再把每一名来访者的信息从记录中分离出来。 因为它没有象数据库一样的列,所以要想办法从刚才记录的文件中读出。在所创建的文件中,第 1 行是用户名,第 2 行是用户主页,第 3 行是用户电子信箱,其他用户的信息也是这样排列,即每 3 行包含一个用户信息。这样,我们就可以再利用 FSO 来读取了:
< %
set fso = Server.Createobject("Scripting.FileSystemObject")
' 创建 fso 对象 .
path = "c:chunfeng/form.txt"
set file = fso.opentextfile(path, 1)
' 打开文件 .
do until file.AtEndOfStream
' AtEndOfStream 是 TextStream 对象的属性 , 它提示何时到文件尾部 .
Response.write("Name: " & file.ReadLine & " ")
' ReadLine 方法读取 1 行内容 , 直到遇到换行符 , 随后的 ReadLine 调用读取下一行 .
Response.write("Home Page: " & file.ReadLine & " ")
Response.write("Email: " & file.ReadLine & "< p>")
' 逐行分析并格式化数据 .
loop
' 循环列出每一用户的信息 .
file.close
set file = nothing
set fso = nothing
%>
都做好了。
如果 form.txt 本身数据出现差错,如每一用户信息只有 2 行而不是 3 行,那么就会产生如下错误信息:
Server object error 'ASP 0177 : 800a003e'
[1]
NEWSZW_HZH_END-->查看更多关于为什么有的留言簿不需要数据库?_编程10000问_的详细内容...