PHP實現(xiàn)合并discuz用戶
本文實例講述了PHP合并discuz用戶腳本的方法。分享給大家供大家參考。具體如下:
前幾天遇到一個需要將兩個discuz合并的項目,一個用戶級別在12萬左右,一個是1萬8.不用說肯定是扔了1萬8的,留下12萬的。開始覺得不好處理,數(shù)據(jù)表都是關(guān)聯(lián),新注冊一個用戶,有8個表增加記錄了,還沒看有沒有其他表有修改記錄的可能性。當時覺得一時半會兒也理不清那些表,就搜索了一下,搜到了discuz tool.但是只能導(dǎo)10萬以內(nèi)的,于是就只能自己嘗試了,后來考慮,我直接在關(guān)鍵表插入一條記錄如何,其他表在用戶操作的過程中沒準就自動補齊的相關(guān)數(shù)據(jù)了,于是就試著導(dǎo)出原來的1萬8用戶,然后寫了個PHP腳本直接將這1萬8用戶寫入的uncenter的memeber表里。測試了一下還OK。遺憾的是用戶積分啥的都沒過去,只是保留了用戶的用戶名和密碼。
關(guān)鍵步驟:
1.導(dǎo)出打算不要的那個系統(tǒng)的uncenter member數(shù)據(jù)庫成sql文件。
2.運行腳本。
聲明:本腳本只提供思路,請使用前提前備份好數(shù)據(jù),如數(shù)據(jù)丟失與作者無關(guān)。(代碼簡單,勿噴)
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";//此處換成導(dǎo)出的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);
我們再來看下使用UC整合的方法
這兩天一直在2個discuz的ucenter和會員系統(tǒng);經(jīng)過我的不懈努力;終于整合完成;整合過后實現(xiàn)功能如下;
兩個discuz系統(tǒng)共用同一個ucenter; //實現(xiàn)方法:
兩個discuz系統(tǒng)共用同一個會員系統(tǒng);//解決方法在后面;
先整合ucenter;
先完整安裝一個discuz系統(tǒng);進入ucenter;添加應(yīng)用:
點擊安裝:一直下一步到下面
如果點擊出現(xiàn)您必須解決以上問題,安裝才可以繼續(xù)
請返回輸入 UCenter 的IP地址:如果不出意外進入下一步
ucenter整合完畢;可以實現(xiàn)同時登陸;同時退出;只是第一次需要激活;
打開第二個分系統(tǒng)config/下的config_global.php;
在$_config['db']['1']['tablepre'] = chuzi_';下添加$_config['db']['2']['tablepre'] = it_
第二個分系統(tǒng)打開source\class\db文件下的db_driver_mysql.php;
在第 34行 $this->tablepre = $config['1']['tablepre'];下面添加 $this->tableprechu = $config['2']['tablepre'];
第112行 return $this->tablepre.$tablename;修改成下面
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與上面修改對應(yīng)就行; }else{ return $this->tablepre.$tablename; }
以上就是小編給大家總結(jié)的2種整合DZ論壇會員的方式,個人比較喜歡第二種,畢竟第一種還是有些缺陷的。
- UCenter Home二次開發(fā)指南
- php將會員數(shù)據(jù)導(dǎo)入到ucenter的代碼
- UCenter中的一個可逆加密函數(shù)authcode函數(shù)代碼
- UCenter info: MySQL Query Error SQL:SELECT value FROM [Table]vars WHERE noteexists
- php中通過curl模擬登陸discuz論壇的實現(xiàn)代碼
- 比較discuz和ecshop的截取字符串函數(shù)php版
- 單點登錄 Ucenter示例分析
- java(jsp)整合discuz同步登錄功能詳解
- 簡單分析ucenter 會員同步登錄通信原理
相關(guān)文章
解析php框架codeigniter中如何使用框架的session
本篇文章是對php框架codeigniter中如何使用框架的session進行了詳細的分析介紹,需要的朋友參考下2013-06-06PHP基于迭代實現(xiàn)文件夾復(fù)制、刪除、查看大小等操作的方法
這篇文章主要介紹了PHP基于迭代實現(xiàn)文件夾復(fù)制、刪除、查看大小等操作的方法,簡單說明了迭代的原理并結(jié)合實例形式分析了php采用迭代算法實現(xiàn)文件夾的復(fù)制、刪除及查看大小等常見操作的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2017-08-08