当前位置 博文首页 > 为什么有的留言簿不需要数据库?

    为什么有的留言簿不需要数据库?

    作者:admin 时间:2021-08-29 18:58

    < 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]

    jsjbwy
下一篇:没有了