Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[分享] 关于品牌空间与discuzX2论坛第一次注册的用户登录不同步的解决方案

  [复制链接]
aiens 发表于 2011-8-30 23:03:06 | 显示全部楼层 |阅读模式
本帖最后由 aiens 于 2011-9-8 12:19 编辑

原因:
discuz注册的时候没有进行uc通信同步。

故障现象:
(前提是,您已经整合成功了,可以正常通信了)有些朋友整合discuz和品牌空间后,第一次注册的用户无法自动登陆品牌空间,而第二次登陆之后就可以双向同步。比如,我整合了discuz和品牌空间,然后我在品牌空间那里点击注册,然后进入discuz注册页面。注册好后,会自动返回到品牌空间的页面,但是发现不是登陆状态,这对用户体验很不好。

参考解决方案:
找到source/class/class_member.php(你的discuz目录下)   
1.在class logging_ctl 里面找到function on_logout(),在上面加入以下代码
  1. function on_ucsyn(){
  2.                 global $_G;
  3.                
  4.                 if($_G['uid']) {
  5.                         $ucsynlogin = $this->setting['allowsynlogin'] ? uc_user_synlogin($_G['uid']) : '';
  6.                         $url_forward = dreferer();
  7.                         if(strpos($url_forward, $this->setting['regname']) !== false) {
  8.                                 $url_forward = 'forum.php';
  9.                         }
  10.                         showmessage('login_succeed', $url_forward ? $url_forward : './', array('username' => $_G['member']['username'], 'usergroup' => $_G['group']['grouptitle'], 'uid' => $_G['uid']), array('extrajs' => $ucsynlogin));
  11.                 }
  12.         }
复制代码
2.然后找到
  1. if(strpos($url_forward, $this->setting['regname']) !== false || strpos($url_forward, 'buyinvitecode') !== false) {
  2.                                 $url_forward = 'forum.php';
  3.                         }
复制代码
在后面添加
  1. else{
  2.                                 $url_forward = 'member.php?mod=logging&action=ucsyn&referer='.$url_forward; //uc syn
  3.                         }   //$url_forward 可以修改成 $_G['gp_referer'],同时品牌空间的注册地址需要填写为 http://discuz注册地址&referer=品牌空间地址
复制代码
3.找到 source/module/member/member_logging.php (你的discuz目录下)
  1. if(!in_array($_G['gp_action'], array('login', 'logout'))) {
  2.         showmessage('undefined_action');
  3. }
复制代码
改成
  1. if(!in_array($_G['gp_action'], array('login', 'logout','ucsyn'))) {
  2.         showmessage('undefined_action');
  3. }
复制代码


这样后,以后在discuz注册用户后,会自动同步到其他应用的。
可以看看效果 http://www.xianga.net/bbs          http://brand.xianga.net

另外看看品牌空间的地图找商家吧。哈哈! http://map.xianga.net

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

1

查看全部评分

lldsc 发表于 2011-8-30 23:24:51 | 显示全部楼层
支持改进,顶一个。
回复

使用道具 举报

gx946455506 发表于 2011-8-30 23:40:08 | 显示全部楼层
支持改进
回复

使用道具 举报

设计阜阳 发表于 2011-8-31 09:04:16 | 显示全部楼层
收藏 保留~!@@
回复

使用道具 举报

 楼主| aiens 发表于 2011-8-31 12:51:49 | 显示全部楼层
那些不能同步的朋友,可以参考一下!
回复

使用道具 举报

 楼主| aiens 发表于 2011-8-31 17:10:39 | 显示全部楼层
官方加粗一下吧!
回复

使用道具 举报

腐朽的木头 发表于 2011-9-1 10:13:17 | 显示全部楼层
这个帖子很不错
回复

使用道具 举报

156024363 发表于 2011-9-1 10:24:07 | 显示全部楼层
这个不错,可以解决问题啊。
回复

使用道具 举报

76791858 发表于 2011-9-1 22:14:47 | 显示全部楼层
我遇到了这样的问题,在DZ里面注册的用户没办法登陆品牌空间;费解的是怎么在我新装的品牌空间里找不到“找到source/class/class_member.php” ???那位高手指点下
回复

使用道具 举报

杨三郎 发表于 2011-9-1 22:36:22 | 显示全部楼层
在class logging_ctl 里面加入一个函数  这句话不太懂求解
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 12:30 , Processed in 0.038721 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表