沸腾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%>
性 别:
<%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 "本论坛暂时停止注册。 请点击这里进行<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
|