ASP编程:用ASP计划一个留言薄(下)
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.计划如今说说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.silversand.net/index.htm如许,就会发生一个GET的哀求信息。而提交表单时(表单的体例设为POST),就会发生POST的哀求体例,如今判别book.asp这个文件是用户用扫瞄器翻开页面,仍是用户提交数据这个举措,以便举行程序处置。
ifRequest.ServerVariables("REQUEST_METHOD")="POST"then
‘这里判别出是由用户提交表单而调进进的页面,因而举行挂号留言处置。
‘创立一个文件组件的服务器实例
setfsFilesys=CreateObject("Scripting.FileSystemObject")
‘翻开文本文件server.mappath("/")是前往服务器刊行目次的实在路径,也就是好比说:c:Inetpubwwwroot这个路径,然后"/realchat/book/book.txt"就是相对这个路径基本上的路径。
setmyText=fsFilesys.OpenTextFile(Server.MapPath("/")&"/realchat/book/book.txt")
‘把文本文件的一切内容读出,保留在Temp这个变量中。
Temp=myText.Readall
myText.Close
‘是不是必要增加内容
ifRequest("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
ifLen(Tcomments)<2Then
%>
<fontsize="4"color="red">
<palign="center">对不起!你还未留言。<ahref="book.asp">前往</a></font><%
else
ifLcase(Left(Turl,7))<>"http://"Then
Turl="http://"&Turl
Endif
Turl=Lcase(Turl)
‘从头创立数据文件,把本来的掩盖失落。
setmyText=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
%>
<scriptLanguage="JavaScript">
document.write("<h1>祝贺!您的留言已顺遂提交,请按<ahref=disp.asp>这里</a>检察")
</script>
<%
endif
‘至此,留言已保留进文件book.txt中
Endif
else
‘第一次进进输出屏幕,因而显现htmL文件内容。
%>
<html>
<head>
<title>留言薄</title>
<%colorbg="#BED9FC"%>
</head>
<bodybgcolor="<%=colorbg%>"background="images/bg.gif">
<palign="center"><imgsrc="http://www.163design.net/a/y/images/gbook.gif"alt="GBook.gif(12142bytes)"WIDTH="374"
HEIGHT="83"></p>
<palign="center">[<ahref="disp.asp">我要看留言板</a>][<ahref="../index.asp">前往首页</a>]</p>
<formmethod="POST"action="book.asp">
<inputtype="hidden"name="task"value="insert"><divalign="left"><table>
<tr>
<tdalign="right">姓名</td>
<td><imgsrc="http://www.163design.net/a/y/images/bottom-b.gif"alt="BUTTOM-B.GIF(179bytes)"WIDTH="16"HEIGHT="16"></td>
<td><inputname="name"size="46"></td>
</tr>
<tr>
<tdalign="right">性别</td>
<td><imgsrc="http://www.163design.net/a/y/images/bottom-g.gif"alt="BUTTOM-G.GIF(179bytes)"WIDTH="16"HEIGHT="16"></td>
<td><inputname="sex"size="46"></td>
</tr>
<tr>
<tdalign="right">来自</td>
<td><imgsrc="http://www.163design.net/a/y/images/bottom-b.gif"alt="BUTTOM-B.GIF(179bytes)"WIDTH="16"HEIGHT="16"></td>
<td><inputname="from"size="46"></td>
</tr>
<tr>
<tdalign="right">主页URL</td>
<td><imgsrc="http://www.163design.net/a/y/images/homepage.gif"alt="HomePage.gif(1232bytes)"WIDTH="30"HEIGHT="30"></td>
<td><inputname="url"size="46"></td>
</tr>
<tr>
<tdalign="right">
E-mail</td>
<td><imgsrc="http://www.163design.net/a/y/images/email.gif"alt="Email.gif(1197bytes)"WIDTH="30"HEIGHT="30"></td>
<td><inputname="email"size="46"></td>
</tr>
<tr>
<tdalign="right">留言</td>
<tdcolspan="2"><textareawrap="off"name="comments"cols="49"rows="9"></textarea></td>
</tr>
<tr>
<td></td>
<tdcolspan="2"><dl>
<ddalign="center"><inputtype="submit"value="我写好了">
<inputtype="reset"value="从头再写"></dd>
</dl>
</td>
</tr>
</table>
</div>
</form>
<palign="center"> </p>
</body>
</html>
<%
endif
%>
如今到disp.asp这个文件,这个文件次要完成从book.txt中提取文件内容,然后从头天生htmL代码以显现出留言内容。
代码以下:
<%@language="vbscript"%>
<html>
<head>
<title>留言薄</title>
</head>
<bodybackground="images/back.gif">
<palign="center"><imgsrc="http://www.163design.net/a/y/images/gbook.gif"alt="gbook.gif(12142bytes)"WIDTH="374"HEIGHT="83"><%
‘翻开数据文件
setfsFilesys=CreateObject("Scripting.FileSystemObject")
setmyText=fsFilesys.OpenTextFile(Server.MapPath("/")&"/realchat/book/book.txt")
Tname=myText.ReadLine
%></p>
<palign="center">[<fontcolor="#00FFFF"size="4"><ahref="book.asp">我要写留言</a></font>][<fontcolor="#00FFFF"</p>asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 不能只是将它停留在纸上谈兵的程度上。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
页:
[1]