当前位置: 首页 > 图文教程 > 网络编程 > 编程10000问 > 为什么有的留言簿不需要数据库?

编程10000问
如何获知文件被改动的情况?
如何获知文件最后的修改日期和时间?
如何在线查询本地机的文件?
如何制作一个文本文件编辑器?
如何简单地上传文件?
如何上传一个单纯的HTML文件?
如何实现文件上传并自动归类功能?
如何实现无组件上传二进制文件?
在无组件的情况下,如何上传图片?
如何限制上传文件的大小?
如何用拦截表单的方法上传图片?
如何对用户进行授权?
如何更好地保护我的网页?
如何实现某些页面只让特定的用户浏览?
如何实现某一页面只让特定的用户浏览?
如何实现强制登录?
如何制作一个安全的页面?
如何最大限度地实现安全登录功能?
如何防止未经注册的用户绕过注册界面直接进入应用系统?
怎样避免直接在地址栏敲入URL即可绕过登录页的错误?

编程10000问 中的 为什么有的留言簿不需要数据库?


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 35 ::
收藏到网摘: n/a

< 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

' AtEndOfStreamTextStream对象的属性,它提示何时到文件尾部.
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]