轻松搞定动网论坛与网站的整合

文章为一个朋友原创,帮发了上来,转载请注明出处。

修改说明:

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="<li><a href="&request("comeurl")&">"&request("comeurl")&"</a></li>"

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字段 主要修改部分就这么多,其他的目录权限设置等等,请自行解决!

三、对网站登陆框的修改

   到这一步,我们首先看一下动网论坛的登陆框代码:

 <td  class=lefttopcenter> ※ 会员登陆</td><td  class=lefttopright></td></tr></table>

<table border="0" cellspacing="0" cellpadding="0"><tr>

<td valign=top class=leftcentercenter  height=170><div>

<form method="post" action="login.asp?action=chk"><table><td height=5></td></table>

 用户名:<input name="username" type="text"  style="width:100px" maxlength=’20’ class="yecao"><table><td height=5></td></table>

 密  码:<input name="password" type="password" style="width:100px" maxlength="20" class="yecao"><table><td height=5></td></table>

 保存期:<select name="CookieDate" class="yecao">

<option value="0" selected>不保留</option>

 <option value="1">保留一天</option>

       <option value="30">保留一个月</option>

            <option value="365">保留一年</option>

</select><table><td height=5></td></table>

<input name="submit" type="submit" value="登 录" class="put" onmouseover="this.className=’overput’"" onmouseout="this.className=’put’" class="put">

<input name="reg" onclick=’window.location=" reg.asp"’ type="button" value="注 册" class="put" onmouseover="this.className=’overput’"" onmouseout="this.className=’put’" class="put"fs>       

</form><table><td height=5></td></table>

<center><a href=" lostpass.asp">找回密码</a></center>

在我们的网站登陆文件中,只要使用动网论坛的表单名称及登陆文件,注册,找回密码文件就可以了!



参考资料:

整合全站方法-动网论坛7版用户cookie及登陆全站共享的修改方法      中国维修网-惊云

合并access数据库大法                                             wwwbigbug原创
[本日志由 Admin 于 2008-11-22 11:55 AM 编辑]
文章来自: liuhong
引用通告: 查看所有引用 | 我要引用此文章
Tags:
评论: 0 | 引用: 0 | 查看次数: 13744
发表评论
昵 称:
密 码: 游客发言不需要密码.
验证码: 1+1=?
内 容:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册账号.
字数限制 500 字 | UBB代码 关闭 | [img]标签 关闭