解决 在 自己 “主页登录”后, 在新打开的浏览器中,打开Dvbbs论坛时,自动登录的问题, verse visa...

方法是:利用从
http://bbs.dvbbs.net/dispbbs.asp?Boardid=134&ID=1237421&replyID=2188857&skin=1

下载的 SLogin.asp  文件。 将 下列代码放在 需要登录的网页(自己的主页)上即可。

<iframe src="forum/Slogin.asp" scrolling="no" frameborder = "0"  width="100%" height="100" name="I1"></iframe>


反过来, 在论坛先登录,后在一个新浏览器中打开主页时,参以下 两篇文章完成
文章 1 : http://www.xpb.cn/blog/article.asp?id=407
文章为一个朋友原创,帮发了上来,转载请注明出处。

修改说明:

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" οnmοuseοver="this.className=’overput’"" οnmοuseοut="this.className=’put’" class="put">

<input name="reg" οnclick=’window.location=" reg.asp"’ type="button" value=" 注  册 " class="put" οnmοuseοver="this.className=’overput’"" οnmοuseοut="this.className=’put’" class="put"fs>       

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

<center><a href=" lostpass.asp"> 找回密码 </a></center>
在我们的网站登陆文件中,只要使用动网论坛的表单名称及登陆文件,注册,找回密码文件就可以了!



参考资料:

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

=======================================
文章  2: http://www.hotrich.com/blog/article.asp?id=20

wenzhang 1中,提到的“... 应该共有三个....”估计是 Dvbbs较早版本的情况,文章2中,提到仅有一处符合自己的情况,自己用的是Dvbbs ver7.1 SP1。
文章2 的具体内容见,题为“合动网用户登陆 http://www.hotrich.com/blog/article.asp?id=20 ”的 收录在cnblogs.com/cy163  中的文章。


首先,在一个浏览器中直接打开论坛,登陆成功后(注意登录时,要选择保持Cookie);然后,新开一个浏览器窗口,如何感知此刻已处于登录状态呢?,在自己的主页是利用
request.Cookies("DvForum")("username")不为空来做判断的。


l


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值