ASP网站制作之ASP:用ASP打造一个小型的网页BBS体系
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的 传统的网页BBS年夜多是接纳CGI形式完成的,它的完成请求编程者既要把握编程言语如Perl或C等,又要懂得关于CGI形式的各项手艺内容,因而要制造本人的网页BBS的确坚苦不小。ASP(ActiveServerPages静态服务器主页)的呈现,使我们长远一亮,能不克不及使用ASP完成网页BBS呢?回覆固然是一定的。ASP的诱人的地方就在于它供应了一种复杂易学的剧本,并带有很多内置的工具,从而供应了一条简便的编程之路。该BBS次要由用户注册(扫瞄器端)、用户注册(服务器端)、加帖子(扫瞄器端)、加帖子(服务器端)、帖子详细内容的显现和复兴和一切帖子的显现六个部分构成,个中用户信息寄存在数据库author.mdb中,帖子寄存在数据库bbs.mdb中。它们均为ACCESS数据库,布局分离如表1、表2所示。
表1author.mdb
字段名数据范例长度申明
Authname文本24用户名
Password文本10暗码
表2bbs.mdb
字段名 数据范例 长度 申明
ID文本 4 帖子的编号
Authname 文本 24 用户名
Subject文本80主题
Content备注 内容
Adddate日期/工夫加贴的日期
Visitnum 数字 长整型 会见人数
Answernum 文本4所复兴帖子的编号
(缺省为自己的编号)
Addtime 日期/工夫加贴的工夫
Topnum文本 4第一层复兴帖子的编号
详细完成办法以下所示,个中asp文件和数据库寄存在“/hosp/asp"中,别的htm
文件寄存在“/hosp"文件中,img文件寄存在“/hosp/images"。
1、用户注册(扫瞄器端)login.htm:由用户输出相干信息,经由过程表单传送到服
务器。
以下是援用片断:
<html>
<head><title>registeranewuser</title><head>
<body>
<FORMMETHOD="POST"ACTION="/hosp/asp/register.asp"><P>
<H2>为了标识便利,请您注册一个用户称号</H2>
用户:<INPUTTYPE="TEXT"name="name"SIZE="24"><P>
暗码:<INPUTTYPE="password"name="password"SIZE="24"><P>
<INPUTTYPE=SUBMITVALUE="注册">
<INPUTTYPE=RESETVALUE="清除">
<ahref="/hosp/asp/dispbbs.asp">前往论坛</a><P>
</body>
</html>
2、用户注册(服务器端)Register.asp:使用REQUEST.FORM("表单栏位名")吸收表单信息,接纳ADO手艺与数据库author.mdb毗连,并将表单信息存进author.mdb中。
以下是援用片断:
<html>
<head><title>存用户信息</title></head>
<body>
<!--取客户扫瞄器输出的用户名和暗码-->
<%name=REQUEST.FORM("name")
code=REQUEST.FORM("password")
<!--与author.mdb毗连-->
SetConnection=Server.CreateObject("ADODB.Connection")
Connection.Open"author"
SetRS=Connection.Execute("SELECT*FROMauthor")
<!--假如该用户名已存在,请重输,不然存进数据库-->
IfNotRS.EOFThen%>
该用户名已被注册,请您从头<ahref="/hosp/login.htm">注册</a>新用户名!
<%Else
Connection.Execute("INSERTINTOauthor(authname,password)Values("&name&","&code&")")
RS.Close
Connection.Close%>
<CENTER><B><%=name%></B>您已注册乐成!<P>
<ahref="/hosp/asp/dispbbs.asp">前往论坛</a></CENTER>
<%EndIf%>
</body>
</html>
3、加帖子(扫瞄器端)bbs_add.htm:由用户输出待到场帖子的相干信息,并传到服务器。
以下是援用片断:
<html>
<head><title>asampleform</title></head>
<bodybackground="/hosp/images/backgrnd.gif">
<FORMMETHOD="POST"ACTION="/hosp/asp/bbs.asp"><P>
姓名:<INPUTNAME="name"SIZE="28">暗码:<INPUTTYPE="password"NAME="code"SIZE="28"><P>
主题:<INPUTNAME="subject"SIZE="66"><P>
内容:<P>
<TEXTAREANAME="content"ROWS=20COLS=72></TEXTAREA><P>
<CENTER><INPUTTYPE=SUBMITVALUE="公布信息">
<INPUTTYPE=RESETVALUE="扫除信息"></CENTER>
</FORM>
</body>
</html>
4、加帖子(服务器端)bbs.asp:吸收帖子内容,并存进bbs.mdb中。
以下是援用片断:
<html>
<head><title>bbs.asp</title></head>
<body>
<%name=REQUEST.FORM("name")
code=REQUEST.FORM("code")
subject=REQUEST.FORM("subject")
content=REQUEST.FORM("content")
curdate=Date
curtime=Time
<!--与author.mdb毗连-->
SetConnection=Server.CreateObject("ADODB.Connection")
Connection.Open"author"
SetRS=Connection.Execute("SELECT*FROMauthorWHEREauthname="&name&"ANDpassword="&code&"")
<!--判别用户名与暗码是不是婚配-->
IfNotRS.EOFThen
<!--翻开数据文件,该文件寄存帖子的编号,每加一个帖子,编号加1-->
SetFileObject=Server.CreateObject("Scripting.FileSystemObject")
SetInStream=FileObject.OpenTextFile("c:inetpubwwwroothospaspdata.id",1,False,False)
number=Cstr(InStream.Readline+1)
SetOutStream=FileObject.CreateTextFile("c:inetpubwwwroothospaspdata.id",True,False)
OutStream.WriteLinenumber
IfRequest.QueryString("ID")=""Then
manswernum=number
Else
manswernum=Request.QueryString("ID")
EndIf
IfRequest.QueryString("topnum")=""Then
mtopnum=number
Else
mtopnum=Request.QueryString("topnum")
EndIf
SetOutStream=Nothing
<!--与bbs.mdb毗连,将帖子信息存进数据库中-->
SetConnbbs=Server.CreateObject("ADODB.Connection")
Connbbs.Open"bbs"
Connbbs.Execute("INSERTINTObbs(ID,authname,subject,content,adddate,addtime,answernum,topnum,visitnum)Values("&number&","
&name&","&subject&","&content&","&curdate&","&curtime&","&manswernum&","&mtopnum&",0)")
Connbbs.Close%>
<%=curdate&""%><%=curtime&"增加贴子"%>
<ahref="http://nt-server/hosp/asp/dispbbs.asp">前往论坛</a><P>
姓名:<%=name%><P>
主题:<%=subject%><P>
内容:<%=content%><P>
<%Else%>
您的用户名或暗码堕落,请您重输!
<%EndIf
RS.Close
Connection.Close%>
</body>
</html>
5、帖子详细内容的显现和复兴detail.asp
以下是援用片断:
<html>
<head><title>bbs.asp</title></head>
<bodybackground="/hosp/images/backgrnd.gif">
<%idnum=Request.QueryString("ID")
SetConnection=Server.CreateObject("ADODB.Connection")
Connection.Open"bbs"
SetRS=Connection.Execute("SELECT*FROMbbsWHEREID="&idnum&"")%>
姓名:<%=RS(1)%><p>
主题:<%=RS(2)%><p>
内容:<%=RS(3)%><p>
<!--构成复兴表单-->
<%resub="Re:"&RS(2)
mtopnum=RS(8)
RS.Close
Connection.Close%>
<FORMMETHOD="POST"ACTION="/hosp/asp/bbs.asp?ID=<%=idnum%>&topnum=<%=mtopnum%>"><P>
姓名:<INPUTNAME="name"SIZE="28">暗码:<INPUTTYPE="password"NAME="code"SIZE="28"><P>
主题:<INPUTNAME="subject"SIZE="66"VALUE="<%=resub%>"><P>
内容:<P>
<TEXTAREANAME="content"ROWS=20COLS=72></TEXTAREA><P>
<CENTER><INPUTTYPE=SUBMITVALUE="信息复兴">
<INPUTTYPE=RESETVALUE="扫除信息"></CENTER>
</FORM>
<ahref="http://nt-server/hosp/asp/dispbbs.asp">前往论坛</a>
</body>
</html>
6、一切帖子的显现Dispbbs.asp:列出一切的帖子的主题、作者、工夫、会见人数等信息。
以下是援用片断:
<html>
<head><title>dispbbs.asp</title></head>
<bodybackground="/hosp/images/backgrnd.gif">
<CENTER>
<%=RS(0)%><ahref="/hosp/asp/detail.asp?ID=<%=RS(0)%>"><%=RS(2)%></a>-<FONTSIZE="4"><B><%=RS(1)%></B></FONT><%
=RS(4)&""%><%=RS(7)%>(<%=RS(5)%>)<P>
<%SetRSNEXT=Conn.Execute("SELECT*FROMbbsWHEREtopnumIDANDopnum="&RS(0)&"ORDERBYIDASC")
DoWhileNotRSNEXT.EOF%>
<%=RSNEXT(0)%><ahref="/hosp/asp/detail.asp?ID=<%=RSNEXT(0)%>">Re<%RSNEXT(6)%>:<%=RSNEXT(2)%></a>
-<FONTSIZE="4"><B><%=RSNEXT(1)%></B></FONT><%=RSNEXT(4)&""%><%=RSNEXT(7)%>(<%=RSNEXT(5)%>)<P>
<%RSNEXT.MoveNext
Loop
RS.MoveNext
Loop
RSNEXT.Close
Conn.Close
RS.Close
Connection.Close%>
</body>
</html>
上述程序在WinNT4.0和IIS3.0上完成经由过程。
ASP是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的工具可是什么都要收钱的啊! 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 那么,ASP.Net有哪些改进呢? 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
页:
[1]