返回列表 发帖
查看: 550|回复: 2

UCenter同步问题无法将会员数据通道dzx3.5

2

主题

13

回帖

16

积分

初学乍练

贡献
0 点
金币
0 个
发表于 2023-12-28 13:53:21 | 查看全部 |阅读模式
目前有:
网站A:dzx3.5论坛,用户1100
UCenter在网站A根目录,先称之为UC,用户数据与网站A同步1100

现在使用原生php做了一个站点H,想实现在站点H登陆后同步登陆到网站A(已将UC会员数据导入至站点H),目前登陆和退出都已经实现同步,但是站点H注册的时候只能将数据同步到UC,网站A没有同步过去,导致无法实现同步。
就是这样的原理还是我代码写的问题?因为已经同步到了UC,代码应该没问题,想不出哪里出了问题,请大神解答一下

回复

使用道具 举报

2

主题

13

回帖

16

积分

初学乍练

贡献
0 点
金币
0 个
 楼主| 发表于 2023-12-28 15:05:29 | 查看全部
问题补充,之前一直是dz3.4 GBK版本,对接前恶意升级到了DZ3.5 UTF8,没有出现什么报错和故障,对接时发现UCenter后台应用管理,只有是否开启同步登录:是否接受通知:能用,下边的都无法使用,无论选择是还是否,保存以后还是空的,我印象中UCenter1.6好像没有这么选项(记不清了,可能是我记错了),不排除是升级时没有相关字段导致。
回复

使用道具 举报

2

主题

13

回帖

16

积分

初学乍练

贡献
0 点
金币
0 个
 楼主| 发表于 2023-12-29 02:22:18 | 查看全部
DZX自动激活方法:
打开discuz/api/uc.php,然后找到:

  1. if (($member = getuserbyuid($uid, 1))) {
  2.     dsetcookie('auth', authcode("$member[password]\t$member[uid]", 'ENCODE'), $cookietime);
  3. }
复制代码
替换为:
  1. if (($member = getuserbyuid($uid, 1))) {
  2.     dsetcookie('auth', authcode("$member[password]\t$member[uid]", 'ENCODE'), $cookietime);
  3. } else {
  4.     if (!function_exists('uc_get_user')) {
  5.         loaducenter();
  6.     }

  7.     $user = uc_get_user($uid, 1);
  8.     if ($user) {
  9.         $time = time();
  10.         DB::query("REPLACE INTO " . DB::table('common_member') . " SET `uid`='{$user[0]}' , `username`='{$user[1]}' , `password`='" . md5(random(10)) . "' , `email`='{$user[2]}' , `adminid`='0' , `groupid`='10' , `regdate`='{$time}' , `emailstatus`='0' , `credits`='0' , `timeoffset`='9999'");
  11.         DB::query("REPLACE INTO " . DB::table('common_member_status') . " SET `uid`='{$user[0]}' , `regip`='{$_G['clientip']}' , `lastip`='{$_G['clientip']}' , `lastvisit`='{$time}' , `lastactivity`='' , `lastpost`='0' , `lastsendmail`='0'");
  12.         DB::query("REPLACE INTO " . DB::table('common_member_count') . " SET `uid`='{$user[0]}' , `extcredits1`='0' , `extcredits2`='0' , `extcredits3`='0' , `extcredits4`='0' , `extcredits5`='0' , `extcredits6`='0' , `extcredits7`='0' , `extcredits8`='0'");
  13.         DB::query("REPLACE INTO " . DB::table('common_member_profile') . " SET `uid`='{$user[0]}'");
  14.         DB::query("REPLACE INTO " . DB::table('common_member_field_forum') . " SET `uid`='{$user[0]}'");
  15.         DB::query("REPLACE INTO " . DB::table('common_member_field_home') . " SET `uid`='{$user[0]}'");
  16.         DB::query("UPDATE " . DB::table('common_stat') . " SET `register`=`register`+1 WHERE `daytime` = '" . date('Ymd', $time) . "'");
  17.         if (($member = getuserbyuid($uid, 1))) {
  18.             dsetcookie('auth', authcode("$member[password]\t$member[uid]", 'ENCODE'), $cookietime);
  19.         }
  20.     }
  21. }
复制代码
顺利解决
回复

使用道具 举报

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

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2025-6-21 23:17 , Processed in 0.052772 second(s), 22 queries .

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2025 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表