|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的 传统的网页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是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的工具可是什么都要收钱的啊! |
|