沸腾3AS流浪尘缘新闻系统与动网论坛整合方案与实例

2004年2月2日   编辑:base
共有 14692 位读者读过此文
沸腾3AS流浪尘缘新闻系统 V0.45 ACCESS版 build 3 与动网论坛 Dvbbs Version 6.1.0 整合方案与实例
--------------------------------------------------------------------------------------------
					  beta1

					修改:  大奔
					Q  Q: 14368918
				Email &  MSN: chenjunen@msn.com
				===============================

修改方案:
=========
(一)、目的
	(1)网站某目录下安装沸腾3AS流浪尘缘新闻系统 V0.45 ACCESS版 build 3系统,在其目录下建一
	   BBS 目录,安装动网论坛 Dvbbs Version 6.1.0,同时运行两套系统。
	(2)、合两个数据库文件为一库,升级不烦琐,用户基本信息表两系统完全共享。
	(3)、用户注册一次,在两套系统均可登录并拥有相应系统权限。

(二)、相应特点(优点亦或缺点)
	(1)、管理分离,两套均可独立管理用户的相应权限及修相应用户信息。
	(2)、两套系统均可独立注册用户,并可在两套系统中登录操作。
	(3)、不改动动网论坛 Dvbbs Version 6.1.0的ASP源程序,避免动网论坛升级的麻烦。


修改步骤:
=========

一、在动网6.1 Access库中导入沸腾3AS流浪尘缘新闻系统 Access库中的表,重复的表改名
--------------------------------------------------------------------------------------------
============================================================================================
	原尘缘系统表名		导入动网6.1后的表名	''备注
	-----------------------------------------------------------------------
	vote		=>>	vote1			''尘缘投票版/动网投票帖
	board		=>>	boardcy1		''尘缘公告/动网版面划分
	attach		===	attach
	BigClass	===	BigClass
	dep		===	dep
	link		===	link
	News		===	News
	newsfile	===	newsfile
	Review		===	Review
	smallclass	===	smallclass
	Special		===	Special
	System		===	System
	type		===	type
	uploadpic	===	uploadpic
	-----------------------------------------------------------------------
	注:
	   =>>	向右导入并更改表名
	   ===	向右导入并保持原有表名

	配图见:mdb1.jpg  mdb2.jpg

============================================================================================
--------------------------------------------------------------------------------------------


二、admin =>> user 合并、整理
--------------------------------------------------------------------------------------------
============================================================================================
    沸腾3AS流浪尘缘新闻系统 Access库admin表内相应字段加入动网6.1 Access库user表内,一致与接近
的按动网6.1字段名定,不一致的在动网6.1 Access库user表内新增相应字段。

二、1、尘缘admin表字段的升迁及在[设计视图]中的默认设置

    如下备注栏尘缘系统字段设置初始值是为了保证从动网BBS v6.1版中注册用户时,该注册用户名无需
任何设置也能在尘缘系统中登录操作。
--------------------------------------------------------------------------------------------
	原admin表字段		整后user表字段		''备注
	------------------------------------------------------------------------------------
	ID		=>>	UserID			''用户ID号
	UserName	===	UserName		''用户登录名
	PassWD		=>>	UserPassword		''用户登录密码
	purview		---	purview			''用户范围值,设置默认值为"1"
	OSKEY		---	OSKEY			''用户权限级别,设置默认值为"selfreg"
	fullname	---	fullname		''用户全名,设置默认值为"未填写"
	question	=>>	Quesion			''用户问题
	answer		===	Answer			''用户回答
	sex		===	Sex			''用户性别[先生=1 女士=0]
	birthyear	---	birthyear		''/废弃
	birthmonth	---	birthmonth		''/废弃
	birthday	===	birthday		''用户生日,包含年月日
	email		=>>	UserEmail		''用户电子邮箱
	content		=>>	sign			''尘缘用户个人介绍/动网用户签名
	IP		=>>	UserLastIP		''用户最近登录IP
	number		=>>	Article			''用户发文章总篇数
	logins		=>>	logins			''用户登录次数
	lastlogin	=>>	lastlogin		''用户最近一次登录时间
	dateandtime	=>>	addDate			''用户注册时间
	depname		---	depname			''用户单位部门组,设置默认值为"默认部门"
	depid		---	depid			''用户单位部门ID号,设置默认值为"1"
	deptype		---	deptype			''用户单位部门类型,设置默认值为"1"
	adder		---	adder			''添加该用户的者
	tel		---	tel			''用户联系电话
	shenhe		---	shenhe			''用户发文审核状态,设置默认值为"0"
	jingyong	---	jingyong		''用户启、禁用状态,设置默认值为"0"
	reglevel	---	reglevel		''用户等级状态,设置默认值为"1"
	photo		=>>	face			''用户照片文件路径
	------------------------------------------------------------------------------------
	注:
	   =>>	向右挂接并以右向字段为新字段
	   ===	向右挂接并能与右向同名称字段
	   ---	向右挂接但需手要添加字段,字段类型与长度保持一致

--------------------------------------------------------------------------------------------
二、2、动网user表原有字段在[设计视图]中更改默认设置
   	
	如下栏设置了动网BBS v6.1库user表部份字段的默认值,是为了保证从尘缘图文系统中注册的用
户名,无需其它设置,就能在动网BBS v6.1中登录操作。
--------------------------------------------------------------------------------------------
	动网user表字段名	设置默认值					''备注
	------------------------------------------------------------------------------------
	width		=	120						''头像宽度
	height		=	120						''头像高度
	userclass	=	"新手上路"					''等级
	UserGroup	=	"无门无派"					''门派
	userWealth	=	100						''财产
	userEP		=	1						''经验
	userCP		=	50						''魅力
	showre		=	1						''展览馆功能
	usercookies	=	0
	UserPower	=	0
	UserDel		=	0
	UserIsBest	=	0
	UserInfo	=	"||||||||||||||||||||||||||||||||||||||||||"
	UserSetting	=	"1|||0"						''设置
	UserGroupID	=	4						''管理组ID
	TitlePic	=	"level0.gif"
	IsChallenge	=	0
	UserMsg		=	"0||0||null"
	UserHidden	=	0

============================================================================================


三、1、ASP源文件内相关查询表名更改:
	
	原表名			目标表名	备注				主要关键字
	------------------------------------------------------------------------------------
	vote		=>	vote1		''尘缘投票版/动网投票帖		from vote
	board		=>	boardcy1	''尘缘公告/动网版面划分		from board
	admin		=>	user		''用户注册信息表		from admin
	------------------------------------------------------------------------------------
	相关查询表名更改:
		----------------------------------------------------------------------------
		与vote 改为 vote1有关的源ASP文件如下:
		{select * from vote[vote1]}
		------------------------------------------
		目录/
		index.asp
		------------------------------------------
		目录/ADMIN
		vote.asp
		votedel.asp
		votemanage.asp
		votemodify.asp
		votesave.asp
		voteset.asp
		----------------------------------------------------------------------------
		与board 改为 boardcy1有关的源ASP文件如下:
		{select * from board[boardcy1]}
		------------------------------------------
		目录/
		index.asp
		------------------------------------------
		目录/ADMIN
		board.asp
		boardnews.asp
		boarddel.asp
		boardmanage.asp
		boardmodify.asp
		boardmodsave.asp
		boardset.asp
		boardtextbox.asp
		----------------------------------------------------------------------------
		与admin 改为 user有关的源ASP文件如下:
		{select * from admin[user]}
		------------------------------------------
		目录/
		alluser.asp
		CHKLOGIN.ASP
		guestbook.asp
		guestdel.asp
		guestedit.asp
		guestreply.asp
		guestreplyok.asp
		guestsave.asp
		index.asp
		lastmember.asp
		review.asp
		topuser.ASP
		user.asp
		------------------------------------------
		目录/ADMIN
		BigClass.asp
		BigClassKill.asp
		BigClassKillok.asp
		bigclassset.asp
		boardadd.asp
		boarddel.asp
		boardmanage.asp
		boardmodify.asp
		boardmodsave.asp
		boardsave.asp
		boardset.asp
		checknews.asp
		checkNews1.asp
		checknews3.asp
		checknews4.asp
		checkreview1.asp
		checkreview3.asp
		checkreview4.asp
		CHKLOGIN.ASP
		chkuser.asp
		CSSEDIT.ASP
		DelReView1.asp
		DelReView2_alert.asp
		DelReView3_submit.asp
		depadd.asp
		depEdit.asp
		depEditok.asp
		depKill.asp
		depKillok.asp
		edit.ASP
		getpwd2.asp
		getpwd3.asp
		getpwd4.asp
		index.asp
		linkDel.asp
		linkdel2.asp
		linkedit.asp
		linkmanage.asp
		linkpass.asp
		linksaveedit.asp
		linkunpass.asp
		LIST.ASP
		listnews.asp
		New.asp
		newsadd1.asp
		newsadd2.asp
		newsaddd1.asp
		newsaddd2.asp
		newscheck.asp
		newsclassedit1.asp
		newsclassedit2.asp
		newsdel.asp
		newsdel2.asp
		newsedit.asp
		newsgu.asp
		New_submit.asp		''系统初始化
		review.asp
		SAVE.ASP
		SAVEEDIT.ASP
		saveuser.asp
		SmallClass.asp
		SmallClassKill.asp
		SmallClassKillok.asp
		smallclassset.asp
		smallno.asp
		Special.asp
		Specialadd.asp
		SpecialEdit.asp
		SpecialEditok.asp
		SpecialKill.asp
		SpecialKillok.asp
		SYSTEM.ASP
		SYSTEM1.ASP
		systemsave.asp
		systemsave1.asp
		typeKill.asp
		typeKillok.asp
		typemanage.asp
		typeset.asp
		useradd1.asp
		UserADD2.asp
		UserDEL.asp
		useredit.ASP
		userjingyong.asp
		userlevel.asp
		usermanage.asp
		voteadd.asp
		votedel.asp
		votemanage.asp
		votemodify.asp
		votesave.asp
		voteset.asp	
	
--------------------------------------------------------------------------------------------
三、2、源ASP文件中(admin->user)表整合后不一致字段名替换(小心别改错):


	原字段名		目标字段		备注
	------------------------------------------------------------------------------------
	ID		 => 	UserID			''用户ID号
	PassWD		 => 	UserPassword		''用户登录密码
	question	 => 	Quesion			''用户问题
	email		 => 	UserEmail		''用户电子邮箱
	content		 => 	sign			''个人说细说明(介绍)/动网签名
	IP		 => 	UserLastIP		''用户最近登录IP
	number		 => 	Article			''发文章总篇数
	dateandtime	 => 	addDate			''注册时间
	photo		 => 	face			''用户照片文件
	sex		 =*	sex			*值由文本改为数值,更改相应源代码*

	注:以上字基本上在源ASP文件中以查找替换为主,但不能盲目替换,以免替换掉其它变量.
============================================================================================

四、改数据库链接,指向同一个数据库, 如数据库路径名称为: "/bbs/data/dvbbsandbase.asp"
--------------------------------------------------------------------------------------------
	尘缘系统中相应文件应改为: 
	ADMIN/CONN.ASP			"../bbs/data/dvbbsandbase.asp"
	INCLUDE/CONN.ASP 		"bbs/data/dvbbsandbase.asp"
	ADMIN/newsuploadfileok.asp	"bbs/data/dvbbsandbase.asp"
	------------------------------------------------------------------------------------
	动网BBS中相应文件应改为:
	conn.asp			"data/dvbbsandbase.asp"
============================================================================================
五、相关功能、文件更改


5、1、两套系统用户头像照片文件的统一方案
--------------------------------------------------------------------------------------------
	(1).将原上传照片文件目录"uploadfile/face/"改为动网BBS的用户头像照片上传目录:
	"bbs/uploadFace/"以达到尘缘图文系统与动网BBS的用户头像照片一致。但是DVBBS系统更改个人
	照片后,会删除原上传照片,而本图文系统不会,所以尽量在DVBBS中更改个人照片。如果在图文
	系统中更改了个人照片,则可在DVBBS的后台管理中的[文件管理]--[上传头像管理]中整理清除。 
 	------------------------------------------------------------------------------------
	尘缘图文系统针对用户头像照片相应文件更改:

	目录/ADMIN
		uploadfaceok.asp 内三个表达式需修改

-----     -----     -----     -----     -----     -----     -----     -----     -----     --
 if file.FileSize>0 then         ''如果 FileSize > 0 说明有文件数据
  file.SaveAs Server.mappath(formPath &filename)   ''保存文件
response.write "<script>parent.document.FrmAddLink.photo.value='uploadfile/face/"&FileName&"'</script>"
 end if
>
-----     -----     -----     -----     -----     -----     -----     -----     -----     --
上传后写入数据库的文件名共两处['uploadfile/face/"&FileName&"']改为['uploadFace/"&FileName&"']:
-----     -----     -----     -----     -----     -----     -----     -----     -----     --
<
 if file.FileSize>0 then         ''如果 FileSize > 0 说明有文件数据
  file.SaveAs Server.mappath(formPath &filename)   ''保存文件
response.write "<script>parent.document.FrmAddLink.photo.value='uploadFace/"&FileName&"'</script>"
 end if
>
-----     -----     -----     -----     -----     -----     -----     -----     -----     --

<
set FileUp=server.createobject("ChinaASP.UpLoad") ''建立上传对象

 filepath=server.MapPath("../uploadfile/face/")
>

实际的相对路径共一处[("../uploadfile/face/")]改为[("../bbs/uploadFace/")]:

<
set FileUp=server.createobject("ChinaASP.UpLoad") ''建立上传对象

 filepath=server.MapPath("../bbs/uploadFace/")
>
-----     -----     -----     -----     -----     -----     -----     -----     -----     --

--------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------

相应文件修改:
guestsave.asp


if user=true then
set rs=server.createobject("adodb.recordset")
sql="select * from user where username='"&author&"'"
rs.open sql,conn,1,3
email=rs("UserEmail")
face=("bbs/"+rs("face"))		''[雁过留声]注册用户头像定向论坛中的位置
rs.close
set rs=nothing
else
email=trim(request.form("email"))
end if

--------------------------------------------------------------------------------------------

相应文件修改:
guestbook.asp

效果见图:guestbook.jpg

	<%
	author=rs("author")
	set urs=server.createobject("adodb.recordset")
	sql="select * from user where username='"&author&"'" 
	urs.open sql,conn,1,3
	if not urs.bof or not urs.eof then
		photowidth=urs("width")		''取注册用户论坛设定的图片片宽度
		photoheight=urs("height")	''取注册用户论坛设定的图片高度
		user=true			''是已注册用户
	else 
		user=notreg			''是非注册用户
	end if
	urs.close
	set urs=nothing
	%>

	.......


	<img src="<%if trim(rs("face"))<>"" then%><%=rs("face")%><%else%>Image1.gif<%end if%>" <%if user=true then%>  width="<%=photowidth%>" height="<%=photoheight%>" <%end if%>><br>
	<%''取用户头像,如为注册用户,则定义图片显示宽、高分辨率%>


	''//[雁过留声]中显示用户头象


--------------------------------------------------------------------------------------------

相应文件修改:
user.asp

效果见图:useraspuserfeiteng.jpg

        <%
	set rs2=server.CreateObject("ADODB.RecordSet")
	rs2.Source="select * from user where username='"&username&"'"
	rs2.Open rs2.Source,conn,1,1
	if not rs2.eof then
	photowidth=rs2("width")		''取论坛设定的图片宽度
	photoheight=rs2("height")	''取论坛设定的图片高度
	%>

	......

	<%if rs2("face")<>"" then%>
	<img src="bbs/<%=rs2("face")%>" border="0" width="<%=photowidth%>" height="<%=photoheight%>"> 
	<%''显示用户头像,加'bbs/'前缀路径,使图文系统直接显示定向到论坛头像%>
	<%else%>
	<img src="images/nopic.gif" border="0"> 
	<%end if%>


--------------------------------------------------------------------------------------------

相应文件修改:
/ADMIN/LIST.ASP

效果见图:LISTasp1.jpg

	<%
	dim sql
	dim rst
	set rst=server.createobject("adodb.recordset")
	sql="select * from user where UserID="&request("ID")
	rst.open sql,conn,1,1
	photowidth=rst("width")		''取论坛设定的图片宽度
	photoheight=rst("height")	''取论坛设定的图片高度
	%>

	......

	<p align=center>
	<%if rst("face")<>"" then%>
	<img src="../bbs/<%=rst("face")%>" border="0" width="<%=photowidth%>" height="<%=photoheight%>"> 
	<%''显示用户头像,加'bbs/'前缀路径,使图文系统直接显示定向到论坛头像%>
	<%else%>
	<img src="images/nopic.gif" border="0"> 
	<%end if%>
	<br><br>
	用户头像
	</p>

===============================================================================================
性别问题,原数据表中直接写入汉字,现更改为阿拉伯数字:

相应文件修改:
user.asp

	<%if rs2("sex")="0" then%>性别:女<br><%else%>性别:男<br><%end if%>

相应文件修改:
/ADMIN/LIST.ASP

	<%if rst("sex")<>"" then%>
	&nbsp;&nbsp;&nbsp;&nbsp;性&nbsp;&nbsp;&nbsp;&nbsp;别:
		<%if rst("sex")="0" then%>女<%else%>男<%end if%><br><br>
	<%end if%>

	......

--------------------------------------------------------------------------------------------
生日问题,原系统中分为birthyear,birthmonth,birthday三个字段,现需改为一个字birthday:

相应文件修改:
user.asp

	将有年.月.日的地方包含的birthyear,birthmonth去掉

	生日:<%=rs2("birthday")%><br>

	......

--------------------------------------------------------------------------------------------
留言超级用户修改无需密码认证:

相应文件修改:
/guestsave.asp

   Set rs=Server.CreateObject("Adodb.RecordSet")
   rs.Open "Select * from user where username='"&author&"'",conn
   if not rs.EOF then
      if password<>rs("UserPassword") then		''验证修改者密码	
	 if request.cookies("key")<>"super" then 	''判断是否是超级用户在修改,不是则提示密码
	    Response.Write "<script>alert('对不起,密码输入错误!');history.back();</Script>"
	    Response.End 
	 end if
      end if
      user=true
   end if
   rs.close
   set rs=nothing
============================================================================================

注册时用户默认头像添加:[20040202]

adduser.asp


<input id="photo" name="photo" value="userface/Image1.gif" size="26" class="smallInput" maxlength="255" style="font-family: 宋体; font-size: 9pt" title="个人照片。您可以上传自己的照片,也可以直接填写您的网上照片的地址。">


============================================================================================

论坛登录按钮设置:[20040202]

/index.asp
		<%if Request.cookies("username")<>"" then%>
		<br> 
		<form method="POST" action="admin/index.asp" >
		<input type="submit" name="Submit" value="图文发布" style="font-size: 9pt;cursor:hand" title="图文发布">
                </form>
 		<form action=bbs/login.asp?action=chk method=POST target="_blank">
                <input name=username type="hidden" value=<%=Request.cookies("UserName")%>>
                <input name=password type="hidden" value=<%=request.cookies("bbspwd")%>>
		<input type=submit style="font-size: 9pt;cursor:hand" name=submit value="登录论坛" ><br><br>
          	</form>
		<form method="POST" action="exit.asp" >
		<input type="submit" name="Submit" value="退出系统" style="font-size: 9pt;cursor:hand" title="退出系统">
                </form>
		<%else%>
		<br><br>
		<font color=red>请先登录系统</font>
		<br><br>	
		<%end if%>


============================================================================================
动网禁止用户注册后的添加站内注册按钮(引导从尘缘新闻系统注册)提示:[20040202]

/bbs/reg.asp

	<%''注册链接定义   增加开始:大奔  时间:2004.02.02%>
	<script language=JavaScript type="text/javascript">  
	<!--
	// Begin adduser
	function adduser(adduser)
	      {
	        url = '/admin/adduser.asp';
	        window.open(url,adduser,"width=400,height=460,toolbar=no");
	      }
	// End adduser-->
	</script>
	<%''注册链接定义结束%>

......

	Dvbbs.stats="论坛错误信息"
	Dvbbs.AddErrmsg "本论坛暂时停止注册。&nbsp;&nbsp;&nbsp;&nbsp;请点击这里进行<input type=button onclick=adduser() value=站点会员注册>后再登录。"

	ChkAllErr()

============================================================================================
用户注册时更新DVBBS首页的[新进来宾]字段:[20040205]
后台增加用户:
/ADMIN/UserAdd2.asp

	''以下往 dvbbs_info 表添 lastUser 值为当前注册用户名
	set rst=server.CreateObject("ADODB.RecordSet")
	rst.open "select * from user",conn,3,2
	rst.addnew
	rst("oskey")=oskey
	rst("Username")=UserName
	rst("UserPassword")=Passwd
	rst("purview")=1
	rst("depid")=depid
	rst("fullname")=request.form("fullname")
	rst("depname")=depname
	rst("deptype")=deptype
	rst("adder")=adder
	rst("jingyong")=0
	rst("reglevel")=1
	rst("addDate")=now()
	if shenhe="" then
	rst("shenhe")=1
	else
	rst("shenhe")=request.form("shenhe")
	end if
	rst.update
	oskey=rst("oskey")
	rst.close

	'以下往 dvbbs_info 表添 lastUser 值为当前注册用户名
	set rsl=server.createobject("adodb.recordset")
	sql="update dvbbs_info set usernum=usernum+1,lastuser='"&username&"'" 
	rsl.open sql,conn,3,2

用户自我注册:
/ADMIN/saveuser.asp

	''这里为开始往数据库内写注册信息
	set rs=server.createobject("adodb.recordset")
	sql="select * from user where (UserID is null)" 

	rs.open sql,conn,1,3
	rs.addnew
	rs("username")=username
	rs("sign")=content
	rs("UserPassword")=passwd
	rs("Quesion")=question
	rs("answer")=answer
	rs("fullname")=fullname
	rs("UserEmail")=email
	rs("purview")=purview
	rs("oskey")=oskey
	rs("sex")=sex
	rs("birthyear")=birthyear
	rs("birthmonth")=birthmonth
	rs("birthday")=birthday
	rs("depid")=depid
	rs("depname")=depname
	rs("deptype")=deptype
	rs("tel")=tel
	rs("UserLastIP")=ip
	rs("logins")=1
	rs("lastlogin")=now()
	rs("shenhe")=1
	rs("jingyong")=jingyong
	rs("reglevel")=reglevel
	rs("face")=photo
	rs("addDate")=now()
	rs.update
	id=rs("UserID")
	rs.close

	'以下往 dvbbs_info 表添 lastUser 值为当前注册用户名
	set rs2=server.createobject("adodb.recordset")
	sql="update dvbbs_info set usernum=usernum+1,lastuser='"&username&"'" 
	rs2.open sql,conn,1,3


============================================================================================

沸腾用户删除时更新用户总数信息,最后一个注册用户名:[20040205]
/ADMIN/UserDEL.asp

	'检索最大用户号用户名
	Set rsmax = Server.CreateObject("ADODB.Recordset")
	sql="SELECT * FROM user order by UserID desc"
	rsmax.open sql,conn,3,3
	if rsmax.eof and rsmax.bof then 
	else 
	NLusername=rsmax("UserName") 
	end if
	rsmax.close
	set rsmax=nothing

	'以下在 dvbbs_info 表将 usernum 值减1,lastuser 赋为最大 UserID 的用户名
	set rs2=server.createobject("adodb.recordset")
	sql="update dvbbs_info set usernum=usernum-1,lastuser='"&NLusername&"'"
	rs2.open sql,conn,1


============================================================================================




演示网站:  http://zywz.8866.org/20040201/

============================================================================================
......



    相关思路参照《沸腾综合论坛》网友:zqw104(曾庆武 武汉科技大学城市建设学院170号信箱 027-87381164)
的相应帖子《菜鸟学整合动网论坛系列讲座》,
http://www.wsjx.zjwu.net/joy/ft-bbs/dispbbs.asp?boardID=22&ID=2632,在此表示感谢!






										大奔于温州
									2004-02-01 03:25

 

Copyright © 2016

www.FTSYS.net.All Rights Reserved.