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

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

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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]

时间: 2025-01-19 05:47:38

为什么有的留言簿不需要数据库?_编程10000问的相关文章

如何用数据库制作一个多用户版的计数器?_编程10000问

count.asp<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ' 计数器的核心程序. <%Set conn = Server.CreateObject("ADODB.Connection")dbpath=server.MapPath("count.mdb")conn.open "driver={Microsof

怎样获知数据库的连接属性?_编程10000问

<%@ Language=VBScript %> <%     Option Explicit     dim objCNN     dim intCTProps     dim item     dim vbCRLF         vbCRLF = chr(10)     Response.Write "<html><head></head><body>" & vbCRLF     Response.Writ

如何用下拉列表显示数据库里的内容?_编程10000问

<%Dim objDC, objRS Set objDC = Server.CreateObject("ADODB.Connection")objDC.ConnectionTimeout = 15objDC.CommandTimeout = 30<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ' 创建数据库连接 objDC.Open "

如何分页显示数据库查询结果?_编程10000问

<% if Request.QueryString("PageNumber").count > 0 then <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ' 指定页号的参数PageNumber.如果指定页号,则以指定页号为依据. PageNumber = Request.QueryString("PageNumber&quo

ASP问答集_编程10000问

问:为什么我的记录集的RecordCount值总是返回-1? 答:你应当使用这种模式来打开存取数据库的记录集:   rec.open strSQL,conn,1,1   其中的strSQL是操作数据库的SQL语句;conn是联接数据库的Connection 变量. 问:我在ASP脚本中写了很多的注释,这会不会影响服务器处理ASP文件的速度? 答:经国外技术人员测试,带有过多注释的ASP文件整体性能仅仅会下降0.1%,也就是说基本上不会影响到服务器的性能下降的. 问:我需不需要在每个ASP文件的开

如何取回已忘记的密码?_编程10000问

forget.asp<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ' 申请. <html> <head> <title>闪亮日子之用户密码核实</title> </head> <div align="center"><center> <table border

网上考试设计思路是怎样的?_编程10000问

global.asa < script LANGUAGE=VBScript RUNAT=Server > Sub Application_OnStart    dbPath = "DBQ=" & Server.Mappath("onlinetest.mdb")    dbConnectionString =  "DRIVER={Microsoft Access Driver (*.mdb)}; " & dbPath  

如何创建Word文件?_编程10000问

creatdoc.asp<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> <!DOCTYPE html PUBLIC "-//W3C/Dtd html 3.2 Final//EN"><head><title>星河影动之创建Word文件</title><META HTTP-EQUIV="Re

如何实现某些页面只让特定的用户浏览?_编程10000问

global.asp     <script language=vbscript runat=server> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> sub Session_onstart session("register")="false" ' 记录用户成功登录的信息. session("logn