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

 找回密码
 立即注册
搜索

[转换] 救命啊...IPB->dz6.1的用户登录问题

[复制链接]
天山马贼 发表于 2009-1-4 22:41:55 | 显示全部楼层 |阅读模式
我犯了个比较愚蠢的错误...现在不知道该怎么办了。
我的论坛是从ipb2.x转换到dz6.1的

但是在转换完以后的替换logging.php,我错误的使用了那个适用从ipb->dz6.0的版本
这样老用户可以登录,我也一直没发现问题,有一天我忽然发现新注册的用户不能登录。才发现这个问题
我用6.1版的替换用logging.php替换了之后,新用户可以登录了。但是在我转换后至今的曾经正常登录过得老用户又无法登录了.....我该怎么办?
虽然这些老用户找回密码的方式可以解决,但我不能要求每个老用户都用一次“找回密码”啊。。。。
救命啊.....
回复

使用道具 举报

蓝豆 发表于 2009-1-4 22:46:55 | 显示全部楼层
用DZ6.1的原始程序文件中的logging.php替换一下论坛根目录下的logging.php

再用下面的地址中替换一下
Discuz! 6.1 正式版-logging.php for 转换过来的论坛
https://discuz.dismall.com/thread-908246-1-1.html


特殊加密的论坛有: ipb, molyx, smf, vbb

  ipb:    logging for ipb.zip (2.96 KB)
下载次数: 1601
2008-4-25 16:50
回复

使用道具 举报

 楼主| 天山马贼 发表于 2009-1-4 22:58:11 | 显示全部楼层
我知道,我昨天就是用这个替换的。
但是问题就是,用这个正确的版本替换了之后,新用户可以登录了,但是在从我转换论坛到昨天为止那些曾经正确登录过的,原来IPB的用户不能登录了。
不知道我说明白我的问题没有....
回复

使用道具 举报

 楼主| 天山马贼 发表于 2009-1-4 23:03:36 | 显示全部楼层
我大概知道问题的原因是:
对于ipb转换过来的论坛,替换用的logging.php是先检查member_ipbinfo表,如果有就利用这个表里的加密数据登录,登录成功后删除这个表里的对应条目,并把密码用dz6的加密方式加密后放到member表里,对于dz6.1应该同时会更新到ucenter里一份。
但是我的问题是,大约有1周多的时间,我用的是ipb2.0->dz6的那个logging.php,而dz6和uccenter是没有集成的,这样在这期间登录过的ipb用户就不会吧信息更新到ucenter里。我现在用ipb2->dz6.1的logging.php替换后,在这一周内登录过的原ipb用户就无法登陆了....
我该怎么办啊....
回复

使用道具 举报

 楼主| 天山马贼 发表于 2009-1-5 04:18:31 | 显示全部楼层
临时试了个方法,貌似ok

  1.                 if ($ucresult[0]== -2) {^M
  2.                         $member = $db->fetch_first("SELECT m.uid AS discuz_uid, m.username AS discuz_user, m.password AS discuz_pw, m.secques AS discuz_secques,^M
  3.                                         m.adminid, m.groupid, m.styleid AS styleidmem, m.lastvisit, m.lastpost, u.allowinvisible ,ipbinfo.pass_hash, ipbinfo.pass_salt^M
  4.                                         FROM {$tablepre}members m LEFT JOIN {$tablepre}usergroups u USING (groupid)^M
  5.                                         LEFT JOIN `{$tablepre}member_ipbinfo` `ipbinfo` ON `ipbinfo`.`userid`=`m`.`uid`^M
  6.                                         WHERE m.$field='$username'");^M
  7.                         if($member['pass_hash'] == md5(md5($member['pass_salt']).md5($password))) {^M
  8.                                 uc_user_edit($username, md5($member['pass_salt']).md5($password), $password, $emailnew, 1);^M
  9.                                 $ucresult = uc_user_login($username, $password, $loginfield == 'uid');^M
  10.                         }^M
  11. //以下新增代码
  12.                         if ($member['discuz_pw'] == md5($password)) {

  13.                                 uc_user_edit($username, md5($password), $password, $emailnew, 1);
  14.                                 $ucresult = uc_user_login($username, $password, $loginfield == 'uid');
  15.                         }
  16. //结束
  17.                }
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-17 02:34 , Processed in 0.099182 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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