文章为一个朋友原创,帮发了上来,转载请注明出处。
修改说明:
1、本方法适用于动网论坛 Dvbbs ver7.0及其以上版本,access数据库2000版本及其以上。
2、本修改方法仅供技术讨论和参考,修改前请先备份您的数据库,因为修改所带来的数据丢失等问题,本站概不负责。
一、数据库的合并方法:
首先,假设要合并到的(即合并后你将用在论坛上的)数据库文件为dvbbs.mdb、被合并的(即合并后你就除去了不要的)数据库文件为database.mdb
①先到以dvbbs.mdb作数据库的论坛后台,去新建所没有的database.mdb中的分论坛;(举例:dvbbs论坛中有甲、乙分论坛,database论坛中有甲、丙分论坛,你就要在前者论坛中把丙给建上,包括类别下面的二级分论坛你都要筹备好,免得database合并过来的数据在dvbbs中找不到原来关系而失败)
②将dvbbs.mdb、database.mdb都下载到本地机上,并把这两个文件各复制出备份;(注意一下的操作均不可逆,因此请务必备份更好原来的数据库。)
③打开dvbbs.mdb,点文件--获取外部数据--链接表,找到database.mdb,点链接;
④点所显示链接表中的forum表、再按住ctrl键点reforum表,点确定;
⑤右击已链接过来的forum1表,点复制,再对着旁边空白处点粘贴,点将数据追加到已有表,在表名称栏中填forum,点确定;
⑥右击已链接过来的reforum1表,按⑤的步骤如法炮制(只是表名称栏要填reforum);
⑦将列表中的forum1和reforum1两个链接表删除。这样两个库就合并了(database合并到dvbbs中去了)!
然后,你将dvbbs.mdb库上传至空间,进入后台的论坛管理操作,把原database的那些分论坛里的帖子移动到dvbbs应有的分论坛中,再删掉database的分论坛。两个论坛也告合并成功,登录论坛后台重新建立缓存和更新论坛所有数据!
二、动网论坛的修改
1.动网论坛cookies全站通用的方法
打开inc/Dv_ClsMain.asp
这一步的主要目的是将论坛的COOKIE名称定义为通用名称
在本文件的开头定义变量
dim mybbsdir
MyBbsDir = "/" ''你论坛所在目录
Class Cls_Forum
Rem Const
找到第28行(增加上两行后就是第31行),本行原文是:
CacheName=Replace(Replace(Replace(Server.MapPath("index.asp"),"index.asp",""),":",""),"\","")改为
CacheName = "happy"
找到第31行(增加上两行后就是第34行),本行原文是:
Forum_sn = CacheName:Vipuser = False:Boardmaster = False
改为
Forum_sn = "happy"
2)更改Cookies目录 这一步的主要目的将论坛的cookies目录定义为全局目录,即根目录"/"
①打开inc/Dv_ClsMain.asp
寻找 Response.Cookies(Forum_sn).path=cookiepath
应该共有三个
替换为:
Response.Cookies(Forum_sn).path="/"
② 打开login.asp
寻找 Response.Cookies(Dvbbs.Forum_sn).path=Dvbbs.cookiepath
应该共有五个,其中一个是:Response.Cookies(Dvbbs.Forum_sn).path = Dvbbs.cookiepath(等号两旁有空格)
替换为:
Response.Cookies(Dvbbs.Forum_sn).path="/"
③ 打开logout.asp
寻找 Response.Cookies(Dvbbs.Forum_sn).path=Dvbbs.cookiepath 第27行
应该只有一个
替换为:
Response.Cookies(Dvbbs.Forum_sn).path="/" 至此,修改完毕,即可以达到cookies全站通用的目的了。
2. 更改用户登陆是返回地址:
① 打开login.asp
在这个文件的代码开始加入
response.Expires=0
response.ExpiresAbsolute=now()-1
response.AddHeader "pragma","no-cache"
response.AddHeader "cache-control","private"
response.CacheControl="no-cache"
找到第125行:
Dim comeurlname
If instr(lcase(request("comeurl")),"reg.asp")>0 or instr(lcase(request("comeurl")),"login.asp")>0 or trim(request("comeurl"))="" Then
comeurlname=""
comeurl="index.asp"
Else
comeurl=request("comeurl")
comeurlname="
"&request("comeurl")&""End If改为
response.Redirect(request.servervariables("http_referer"))
session.Contents("URL")=Request.ServerVariables("URL") &"?"& Request.ServerVariables("Query_String")
Response.Redirect(session("URL"))
②打开logout.asp
在这个文件的代码开始加入
response.Expires=0
response.ExpiresAbsolute=now()-1
response.AddHeader "pragma","no-cache"
response.AddHeader "cache-control","private"
response.CacheControl="no-cache"
寻找第36行
Response.Redirect Dvbbs.Forum_Info(11)
改为
response.Redirect(request.servervariables("http_referer"))
session.Contents("URL")=Request.ServerVariables("URL") &"?"& Request.ServerVariables("Query_String")
Response.Redirect(session("URL"))3.修改后台的cookies名称,否则你将无登陆动网论坛的后台
① 打开admin/ReloadForumCache.asp
寻找第11行
Dvbbs.CacheName = Lcase(Replace(mCacheName,":",""))
Dvbbs.Forum_sn = Replace(Dvbbs.CacheName,"_","")
改为:
Dvbbs.CacheName = "happy"
Dvbbs.Forum_sn = "happy"
②打开admin/inc/const.asp
寻找第15行
Dvbbs.CacheName = Lcase(Replace(mCacheName,":",""))
Dvbbs.Forum_sn = Replace(Dvbbs.CacheName,"_","")
改为:
Dvbbs.CacheName = "happy"
Dvbbs.Forum_sn = "happy"
好了,动网论坛修改完了 到了这里,你的整个网站就都可以使用论坛的cookies了,而且登陆和退出时都会自动返回你所在的页面 你可以在其他地方取的COOKIES数据为: Request.Cookies("happy")("username") ''用户名,对应[dv_user]表的username字段
Request.Cookies("happy")("password") ''用户随机密码,对应[dv_user]表的truepassword字段
Request.Cookies("happy")("userid") ''用户id,对应[dv_user]表的userid字段 主要修改部分就这么多,其他的目录权限设置等等,请自行解决!
三、对网站登陆框的修改
到这一步,我们首先看一下动网论坛的登陆框代码:
?※ 会员登陆用户名:
密 码:
保存期:
不保留
保留一天
保留一个月
保留一年
在我们的网站登陆文件中,只要使用动网论坛的表单名称及登陆文件,注册,找回密码文件就可以了!
参考资料:
整合全站方法-动网论坛7版用户cookie及登陆全站共享的修改方法 中国维修网-惊云