首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网络编程-> ASP教程
用asp实现网页bbs
作者:网友供稿 点击:202
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
  传统的网页BBS大多是采用CGI模式实现的,它的实现要求编程者既要掌握编程语言如Perl或C等,又要了解关于CGI模式的各项技术内容,因此要制作自己的网页BBS确实困难不小。ASP(Active Server Pages 动态服务器主页)的出现,使我们眼前一亮,能不能利用ASP实现网页BBS呢?回答当然是肯定的。ASP的诱人之处就在于它提供了一种简单易学的脚本,并带有许多内置的对象,从而提供了一条简捷的编程之路。

      该BBS主要由用户注册(浏览器端)、用户注册(服务器端)、加帖子(浏览器端)、加帖子(服务器端)、帖子具体内容的显示和回复以及所有帖子的显示六个部分组成,其中用户信息存放在数据库author.mdb中,帖子存放在数据库bbs.mdb中。它们均为ACCESS数据库,结构分别如表1、表2所示。

表1 author.mdb

字段名 数据类型 长度 说明
Authname 文本 24 用户名
Password 文本 10 密码



表2 bbs.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> register a new user</title><head>
<body>
<FORM METHOD="POST" ACTION="/hosp/asp/register.asp"><P>
<H2>为了标识方便,请您注册一个用户名称</H2>
用户:<INPUT TYPE="TEXT" name="name" SIZE="24"><P>
密码:<INPUT TYPE="password" name="password" SIZE="24"><P>
<INPUT TYPE=SUBMIT VALUE="注 册">
<INPUT TYPE=RESET VALUE="清 除">
<a href="/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连接 -->
Set Connection=Server.CreateObject("ADODB.Connection")
Connection.Open "author"
Set RS=Connection.Execute("SELECT * FROM author")
<!-- 如果该用户名已存在,请重输,否则存入数据库 -->
If Not RS.EOF Then %>
该用户名已被注册,请您重新<a href="/hosp/login.htm">注册</a>新用户名!
<% Else
Connection.Execute("INSERT INTO author(authname,password) Values(" &name& "," &code& ")")
RS.Close
Connection.Close %>
<CENTER><B><% =name %></B> 您已注册成功!<P>
<a href="/hosp/asp/dispbbs.asp">返回论坛</a></CENTER>
<% End If %>
</body>
</html>

 

3、 加帖子(浏览器端)bbs_add.htm:由用户输入待加入帖子的相关信息,并传到服务器。

<html>
<head><title> a sample form </title></head>
<body background="/hosp/images/backgrnd.gif">
<FORM METHOD="POST" ACTION="/hosp/asp/bbs.asp"><P>
姓名: <INPUT NAME="name" SIZE="28"> 密码: <INPUT TYPE="password" NAME="code" SIZE="28"><P>
主题:<INPUT NAME="subject" SIZE="66"><P>
内容:<P>
<TEXTAREA NAME="content" ROWS=20 COLS=72></TEXTAREA><P>
<CENTER><INPUT TYPE=SUBMIT VALUE="发布信息">
<INPUT TYPE=RESET VALUE="清除信息"></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连接 -->
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "author"
Set RS = Connection.Execute("SELECT * FROM author WHERE authname=" &name& " AND password=" &code& "")
<!-- 判断用户名与密码是否匹配 -->
If Not RS.EOF Then
<!-- 打开数据文件,该文件存放帖子的编号,每加一个帖子,编号加1 -->
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
Set InStream = FileObject.OpenTextFile ("c:\inetpub\wwwroot\hosp\asp\data.id", 1, False, False)
number = Cstr(InStream.Readline+1)
Set OutStream = FileObject.CreateTextFile ("c:\inetpub\wwwroot\hosp\asp\data.id", True, False)
OutStream.WriteLine number
If Request.QueryString("ID")="" Then
manswernum=number
Else
manswernum=Request.QueryString("ID")
End If
If Request.QueryString("topnum")="" Then
mtopnum=number
Else
mtopnum=Request.QueryString("topnum")
End If
Set OutStream = Nothing
<!-- 与bbs.mdb连接,将帖子信息存入数据库中 -->
Set Connbbs = Server.CreateObject("ADODB.Connection")
Connbbs.Open "bbs"
Connbbs.Execute("INSERT INTO bbs(ID,authname,subject,content,adddate,addtime,answernum,topnum,visitnum) Values(" &number& ","
&name& "," &subject& "," &content& "," &curdate& "," &curtime& "," &manswernum& "," &mtopnum& ",0)")
Connbbs.Close %>
<% =curdate & " " %><% =curtime & " 添加贴子 " %>
<a href="http://nt-server/hosp/asp/dispbbs.asp">返回论坛</a><P>
姓名:<% =name %><P>
主题:<% =subject %><P>
内容:<% =content %><P>
<% Else %>
您的用户名或密码出错,请您重输!
<% End If
RS.Close
Connection.Close %>
</body>
</html>


5、帖子具体内容的显示和回复 detail.asp

<html>
<head><title>bbs.asp</title></head>
<body background="/hosp/images/backgrnd.gif">
<% idnum=Request.QueryString("ID")
Set Connection=Server.CreateObject("ADODB.Connection")
Connection.Open "bbs"
Set RS=Connection.Execute("SELECT * FROM bbs WHERE ID=" &idnum& "") %>
姓名:<% =RS(1) %><p>
主题:<% =RS(2) %><p>
内容:<% =RS(3) %><p>

------------------------------------------------------------------------------
<! --形成回复表单 -->
<% resub="Re:" & RS(2)
mtopnum=RS(8)
RS.Close
Connection.Close %>
<FORM METHOD="POST" ACTION="/hosp/asp/bbs.asp?ID=<% =idnum %>&topnum=<% =mtopnum %>"><P>
姓名: <INPUT NAME="name" SIZE="28"> 密码: <INPUT TYPE="password" NAME="code" SIZE="28"><P>
主题:<INPUT NAME="subject" SIZE="66" VALUE="<% =resub %>"><P>
内容:<P>
<TEXTAREA NAME="content" ROWS=20 COLS=72></TEXTAREA><P>
<CENTER><INPUT TYPE=SUBMIT VALUE="信息回复">
<INPUT TYPE=RESET VALUE="清除信息"></CENTER>
</FORM>
<a href="http://nt-server/hosp/asp/dispbbs.asp">返回论坛</a>
</body>
</html>


6、所有帖子的显示 Dispbbs.asp:列出所有的帖子的主题、作者、时间、访问人数等信息。



<html>
<head><title>dispbbs.asp</title></head>
<body background="/hosp/images/backgrnd.gif">
<CENTER><IMG SRC="/hosp/images/luntan.gif" BORDER=0></CENTER><P>
<CENTER><A HREF="/hosp/login.htm"><IMG SRC="/hosp/images/zhuce.gif" BORDER=0></A>
<A HREF="/hosp/bbs_add.htm"><IMG SRC="/hosp/images/jiatz.gif" BORDER=0></A>
<A HREF="/hosp/default.htm"><IMG SRC="/hosp/images/return.gif" BORDER=0></A></CENTER><P>
<% Set Connection=Server.CreateObject("ADODB.Connection")
Connection.Open "bbs"
Set RS=Connection.Execute("SELECT * FROM bbs WHERE ID=answernum ORDER BY ID DESC")
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "bbs"
Set RSNEXT=Conn.Execute("SELECT * FROM bbs")
Do While not RS.EOF %>
<% =RS(0) %> <a href="/hosp/asp/detail.asp?ID=<% =RS(0) %>"><% =RS(2) %></a> -<FONT SIZE="4"><B><% =RS(1) %></B></FONT> <%
=RS(4) &" " %><% =RS(7) %>(<% =RS(5) %>)<P>
<% Set RSNEXT=Conn.Execute("SELECT * FROM bbs WHERE topnum<>ID AND opnum=" &RS(0)& " ORDER BY ID ASC")
Do While Not RSNEXT.EOF %>
<% =RSNEXT(0) %> <a href="/hosp/asp/detail.asp?ID=<% =RSNEXT(0) %>">Re<% RSNEXT(6) %>:<% =RSNEXT(2) %></a>
-<FONT SIZE="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>

上述程序在Win NT4.0和IIS3.0上实现通过。
文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·在ASP.NET中使用Office Web Components (OWC)创建统计图-.NET教程,数据库应用
·windows系统下jsp+mysql+tomcat的配置-JSP教程,Application/Applet
·把aspx文件编译成DLL文件-.NET教程,Asp.Net开发
·Haneng.com的简单留言板制作源程序例子-ASP教程,ASP应用
·使用VB实现邮箱自动注册(一):表单自动提交-.NET教程,VB.Net语言
·VS.NET安装指南(To菜鸟)-.NET教程,Asp.Net开发
·web下水晶报表的使用!-.NET教程,Web Service开发
·C# 静态成员和方法的学习小结-.NET教程,数据库应用
·IIS的使用-ASP教程,ASP基础
·asp讲座之二:读取通过表单发送的数据
最新文章
·photoshop鼠绘实例:浪漫夏夜壁纸_photoshop教程
·买卖中小网站交易的一些细节问题_站长心得
·七招打造最安全的windows xp操作系统_windows xp
·做google adsense最佳和最重要的要诀_网赚技巧
·上下文关联广告清单(内文广告)推荐_网赚技巧
·广告联盟,痛定思痛_网赚技巧
·insenz首批广告费发放给站长_网赚技巧
·李彦宏:三分之一时间用在寻找人才_站长访谈
·中国汽车资源网杨锁民:网络寒冬时下海_站长访谈
·做it新闻资讯网站应先学新浪_站长心得
相关主题
  • 用asp实现支持附件的email系统_邮件服务器
  • 用asp实现支持附件的email系统_邮件服务器
  • 用asp实现自己的UrlDeCode-ASP教程,ASP应用
  • 用asp实现base64编码-ASP教程,ASP应用
  • 用ASP实现自动建站.实现虚拟二级目录-ASP教程,ASP应用
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭