bbs论坛.docx
《bbs论坛.docx》由会员分享,可在线阅读,更多相关《bbs论坛.docx(14页珍藏版)》请在冰豆网上搜索。

bbs论坛
目录
1、概述2
2、总体设计2
3、实现流程图4
4、实验结果5
5、主要实现代码9
6、设计体会总结12
1、概述
(1)开发背景:
留言板在网站的开发中是很常用的功能。
用户在访问网站后,可以发表看法、留下意见或提出问题,网站管理者可以给予答复。
通过留言板,网站管理者可以与用户进行简单的交流。
(2)开发意义:
能够更好的掌握ASP语言编程的要领和方法,加强动手实践能力,增加自己的编程能力。
综合运用所学的知识,检验自己的水平和能力,在开发中学习和领悟。
(3)程序描述:
该BBS论坛具体实现功能有分为多个栏目、发表新文章、回复文章、统计点击次数和回复文章数、用户注册、登录和修改信息,主要是体会BBS的设计思想。
具体分为两个模块,一个是浏览、发表和回复文章的模块,主要是关于BBS文章的;另一个是用户管理模块,主要是关于BBS注册用户的。
2、总体设计
本系统包括以下文件。
(1)数据库文件bbs.mdb,包括栏目信息表tbforum表、文章信息表tbbbs表和用户信息表tbusers表。
(2)首页index.asp,显示栏目列表,并且显示用户登录表单。
(3)BBS列表页bbs_list.asp,分页显示当前栏目的第一层文章的主题。
(4)发表新文章页bbs_insert.asp,可以发表新文章。
(5)BBS详细页bbs_particular.asp,在BBS列表页单击某篇文章的超链接,就会打开该文章,看到所有回复文章的内容,并可以回复当前文章。
(6)回复文章页bbs_reinsert.asp,在BBS详细页下方的表单中就可以回复当前文章页。
(7)用户注册第一步log_register1.asp,注册用户名和密码。
(8)用户注册第二步log_register2.asp,填写个人详细信息。
(9)用户注册第三步log_register3.asp,显示注册成功的信息。
(10)用户登录页log_in.asp,用户可以输入正确的用户名和密码进行登录,这样发表文章就会使用该用户名和密码。
如果不登录,就只能使用“过客”的名义发表文章。
(11)用户注销页log_out.asp,在其中会将当前session信息清空,也就表示用户退出了BBS。
(12)用户修改密码页log_updatepwd.asp,修改用户当前密码。
(13)用户修改个人信息页log_uodate.asp,修改个人详细信息。
3、实现流程图
图3-1程序实现流程图
4、实验结果
(1)首页界面:
index.asp
图4-1首页界面
(2)注册页面1:
log_register1.asp
图4-2注册界面1
(3)注册页面2:
log_register2.asp
图4-3注册界面2
(4)注册页面3:
log_register3.asp
图4-4注册界面3
(5)修改密码界面:
log_updatepwd.asp
图4-5修改密码界面
(6)修改个人信息界面:
log_update.asp
图4-6修改个人信息界面
(7)文章列表界面:
bbs_list.asp
图4-7文章列表界面
(8)文章详细及回复界面:
bbs_particular.asp,bbs_reinsert.asp
图4-8文章详细界面
(9)发表文章界面:
bbs_insert.asp
图4-9发表文章界面
(10)数据库文件bbs.mdb
图2-1栏目信息表tbforum的结构
图2-2文章信息表tbbbs表的结构
图2-3用户信息表tbusers的结构
5、主要实现代码
(1)bbs_insert.asp发表新文章页面的部分代码
<%
'如果提交了表单,就执行下面的添加语句
IfTrim(Request.Form("txtTitle"))<>""Then
DimstrTitle,strBody,intLayer,intFatherId,intChild,intHits,strIP,strUserId,strEmail,intForumId
strTitle=myDangerEncode(Trim(Request.Form("txtTitle")))
strBody=myDangerEncode(Request.Form("txtBody"))
IfSession("strUserId")<>""Then
strUserId=Session("strUserId")
Else
strUserId="过客"
EndIf
strEmail=myDangerEncode(Request.Form("txtEmail"))
intForumId=Request.Form("txtForumId")
intLayer=1
intFatherId=0
intChild=0
intHits=0
strIP=Request.ServerVariables("REMOTE_ADDR")
DimsqlA,sqlB,strSql
sqlA="InsertIntotbBbs(strTitle,intLayer,intFatherId,intChild,intHits,strIP,strUserId,dtmSubmit,intForumId"
sqlB="Values('"&strTitle&"',"&intLayer&","&intFatherId&","&intChild&","&intHits&",'"&strIP&"','"&strUserId&"',#"&Now()&"#,"&intForumId
IfstrBody<>""Then
sqlA=sqlA&",strBody"
sqlB=sqlB&",'"&strBody&"'"
EndIf
IfstrEmail<>""Then
sqlA=sqlA&",strEmail"
sqlB=sqlB&",'"&strEmail&"'"
EndIf
strSql=sqlA&")"&sqlB&")"
conn.Execute(strSql)
strSql="UpdatetbForumSetlngForumCount=lngForumCount+1WhereID="&intForumId
conn.Execute(strSql)
strSql="UpdatetbUsersSetintArticle=intArticle+1WherestrUserId='"&Session("strUserId")&"'"
conn.Execute(strSql)
conn.Close
Setconn=Nothing
Response.Redirect"bbs_list.asp?
intForumId="&Request.Form("txtForumId")
EndIf
%>
(2)log_register1.asp用户注册第一步主要代码
<%
'各项验证正确无误,则可继续注册,否则返回
IfRequest("txtUserId")<>""Then
DimstrUserId,strPwd
strUserId=Request.Form("txtUserId")
strPwd=Request.Form("txtPwd")
DimstrSql,rs
strSql="Select*FromtbUsersWherestrUserId='"&Request.Form("txtUserId")&"'"
Setrs=conn.execute(strSql)
IfNotrs.EofAndNotrs.BofThen
Response.Write"提示:
已有人使用该用户名,请重新填写
"
Else
strSql="InsertIntotbUsers(strUserId,strPwd)Values('"&strUserId&"','"&strPwd&"')"
conn.execute(strSql)
Session("strUserId")=strUserId
Response.Redirect"log_register2.asp"
EndIf
EndIf
%>
(3)log_register2.asp用户注册第二步主要代码
<%
IfRequest.Form("txtName")<>""AndRequest.Form("txtEmail")<>""Then
DimstrUserId,strSql
strUserId=Session("strUserId")
strSql="UpdatetbUsersSetstrName='"&Request.Form("txtName")&"'"
strSql=strSql&",strEmail='"&Request.Form("txtEmail")&"'"
strSql=strSql&",strSex='"&Request.Form("rdoSex")&"'"
strSql=strSql&",dtmSubmit=#"&Date()&"#"
IfRequest.Form("txtQQ")<>""Then
strSql=strSql&",strQQ='"&Request.Form("txtQQ")&"'"
EndIf
IfRequest.Form("txtTel")<>""Then
strSql=strSql&",strTel='"&Request.Form("txtTel")&"'"
EndIf
IfRequest.Form("txtIntro")<>""Then
strSql=strSql&",strIntro='"&Request.Form("txtIntro")&"'"
EndIf
strSql=strSql&"WherestrUserId='"&strUserId&"'"
conn.Execute(strSql)
conn.close
Setconn=Nothing
Response.Redirect"log_register3.asp"
EndIf
%>
6、设计体会总结
通过这次为了实训我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。
在实训的过程中发现了自己对一些前面学过的知识理解得不深刻,掌握得不牢固,而这次实训使我对ASP动态网页设计有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践的学习,我认识到学好ASP动态网页设计要重视实践操作,不仅仅是学习ASP,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好语言。
在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。
因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!
窗体底端