加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP实现合并discuz用户

发布时间:2020-12-13 02:48:54 所属栏目:PHP教程 来源:网络整理
导读:《PHP实现合并discuz用户》要点: 本文介绍了PHP实现合并discuz用户,希望对您有用。如果有疑问,可以联系我们。 PHP实例 本篇章节讲解PHP合并discuz用户脚本的办法.供大家参考研究.具体如下: PHP实例 前几天遇到一个需要将两个discuz合并的项目,一

《PHP实现合并discuz用户》要点:
本文介绍了PHP实现合并discuz用户,希望对您有用。如果有疑问,可以联系我们。

PHP实例本篇章节讲解PHP合并discuz用户脚本的办法.分享给大家供大家参考.具体如下:

PHP实例前几天遇到一个需要将两个discuz合并的项目,一个用户级别在12万左右,一个是1万8.不用说肯定是扔了1万8的,留下12万的.开始觉得不好处理,数据表都是关联,新注册一个用户,有8个表增加记录了,还没看有没有其他表有修改记录的可能性.当时觉得一时半会儿也理不清那些表,就搜索了一下,搜到了discuz tool.但是只能导10万以内的,于是就只能自己尝试了,后来考虑,我直接在关键表插入一条记录如何,其他表在用户操作的过程中没准就自动补齐的相关数据了,于是就试着导出原来的1万8用户,然后写了个PHP脚本直接将这1万8用户写入的uncenter的memeber表里.测试了一下还OK.遗憾的是用户积分啥的都没过去,只是保留了用户的用户名和暗码.

PHP实例关键步骤:

PHP实例1.导出打算不要的那个系统的uncenter member数据库成sql文件.

PHP实例2.运行脚本.

PHP实例声明:本脚本只提供思路,请使用前提前备份好数据,如数据丢失与作者无关.(代码简单,勿喷)

PHP实例
set_time_limit(0); 
$link = mysql_connect('localhost','ngjc','ohFt6yhHYvt5') 
 or die('Could not connect: ' . mysql_error()); 
echo 'Connected successfully'; 
mysql_select_db('ngjc') or die('Could not select database'); 
require "sql.php";//此处换成导出的sql文件 
$arrayerr=array(); 
$oknum=0; 
$errnum=0; 
mysql_query("SET NAMES utf8"); 
foreach($sqlarr as $sql) 
{ 
 if(!mysql_query($sql)) 
 { 
  $arrayerr[]=$sql;$errnum++; 
 } 
 else 
 { 
  $oknum++; 
 } 
} 
echo "<pre>OK:$oknum <br>errornum:$errnum <br> error:<br>"; 
print_r($arrayerr); 
mysql_close($link); 

PHP实例我们再来看下使用UC整合的办法

PHP实例这两天一直在2个discuz的ucenter和会员系统;经过我的不懈努力;终于整合完成;整合过后实现功能如下;

PHP实例两个discuz系统共用同一个ucenter;??? //实现办法:

PHP实例两个discuz系统共用同一个会员系统;//解决办法在后面;

PHP实例先整合ucenter;

PHP实例先完整安装一个discuz系统;进入ucenter;添加应用:

PHP实例

PHP实例点击安装:一直下一步到下面

PHP实例

PHP实例如果点击出现您必须办理以上问题,安装才可以继续
请返回输入 UCenter 的IP地址:如果不出意外进入下一步

PHP实例

PHP实例ucenter整合完毕;可以实现同时登陆;同时退出;只是第一次需要激活;

PHP实例打开第二个分系统config/下的config_global.php;

PHP实例$_config['db']['1']['tablepre'] = chuzi_';下添加$_config['db']['2']['tablepre'] = it_

PHP实例第二个分系统打开sourceclassdb文件下的db_driver_mysql.php;

PHP实例在第 34行 $this->tablepre = $config['1']['tablepre'];下面添加??????? $this->tableprechu = $config['2']['tablepre'];
第112行? return $this->tablepre.$tablename;修改成下面

PHP实例
if(preg_match("/^common_member(.*)/i",$tablename)|| preg_match("/^home(.*)/i",$tablename) || in_array($tablename,array('common_credit_rule_log')))
    {
      return $this->tableprechu .$tablename; //tableprechu与上面修改对应就行;
    }else{
    return $this->tablepre.$tablename;
    }

PHP实例以上就是小编给大家总结的2种整合DZ论坛会员的方式,个人比拟喜欢第二种,毕竟第一种还是有些缺陷的.

欢迎参与《PHP实现合并discuz用户》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读