仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 414|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页设计实例剖析:用ASP打造一个小型的网页BBS...

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:20:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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上完成经由过程。优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件
小女巫 该用户已被删除
沙发
发表于 2015-1-19 09:05:43 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
小妖女 该用户已被删除
板凳
发表于 2015-1-24 15:43:18 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
灵魂腐蚀 该用户已被删除
地板
发表于 2015-2-2 05:19:44 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
第二个灵魂 该用户已被删除
5#
发表于 2015-2-7 16:51:59 | 只看该作者
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
飘灵儿 该用户已被删除
6#
发表于 2015-2-22 16:36:09 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
分手快乐 该用户已被删除
7#
发表于 2015-3-7 01:33:44 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
透明 该用户已被删除
8#
发表于 2015-3-14 05:32:16 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
老尸 该用户已被删除
9#
发表于 2015-3-21 00:51:28 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-26 10:53

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表