這個我只是簡單的做下修改 沒有對程序文件進行較大的變動。
首先講解下原理:大家應(yīng)該都知道dede會員的mid值是一個自增的字段,也就是每添加一行會員記錄這個值自動加1。 那么我們也可以考慮不讓它自增,而是在uch的會員登錄dede激活的時候讀取該會員的uid值,寫入mid字段。 這樣在會員第一次登錄dede的時候?qū)懭雽ede程序不會有什么影響。
目前我以,已經(jīng)注冊了uch(即有了uid值),把mid取uid值的方法做一下講解(其他把uid取mid值 也是一樣的原理)
做這個改進的前提條件:
關(guān)閉dede會員注冊功能,只開啟ucenter home的注冊(這樣可以防止會員id錯亂)。
需要修改的文件如下:
memberindex_do.php 找到代碼(位置大概是280------281行):
Copy code`mtype`='個人',`userid`='$username',`pwd`='$password',`uname`='$username',`sex`='男' ,`rank`='10',`money`='$money', `email`='$email', `scores`='$scores', `matt`='0', `face`='',`safequestion`='0',`safeanswer`='',
在最前面加一句`mid`='$uid', 結(jié)果如下面的代碼:
Copy code`mid`='$uid',`mtype`='個人',`userid`='$username',`pwd`='$password',`uname`='$username',`sex`='男' ,`rank`='10',`money`='$money', `email`='$email', `scores`='$scores', `matt`='0', `face`='',`safequestion`='0',`safeanswer`='',
在這里修改后,uid的值會被寫入到dede會員系統(tǒng)中所有的mid中,這樣不會造成什么問題,本人已經(jīng)做了一些測試,不過如果大家有什么疑問的話,還是可以跟帖一起討論。這個方法不是最完善的 但確實最簡單的。
注意:DEDE的ucenter模塊,默認是把其他系統(tǒng)的會員注冊成dede的個人會員,如果您要做成企業(yè)會員,可以再次開發(fā)一點,請接著看下面內(nèi)容。
目前在別的系統(tǒng)中注冊的會員,第一次訪問dede是需要登錄的,但登錄沒有任何提示,而且默認寫入成個人會員。為此個人做的是,在dede登錄,如果是ucenter中存在的會員而dede不存在,那么暫時不寫入數(shù)據(jù)庫,而是提示自動跳轉(zhuǎn)到一個激活頁面,這個頁面在獲取前一步的mid 用戶名 密碼 這3個值后,再加一個選項表單,個人 企業(yè) 2個選項,確定后根據(jù)選項把值寫入不同的會員數(shù)據(jù)表里去。
激活提示的代碼修改如下:
memberindex_do.php 找到代碼(位置大概是280------281行):
找到Copy code//當UC存在用戶,而CMS不存在時,就注冊一個
if(!$rs) {
//會員的默認金幣
改成:Copy code//當UC存在用戶,而CMS不存在時,就注冊一個
if(!$rs) {
ShowMsg("您已經(jīng)注冊,稍候自動進入激活頁面!","http://激活頁面網(wǎng)址",0,2000);
exit();
//會員的默認金幣
上面代碼中 2000 跳轉(zhuǎn)等待時間。 激活網(wǎng)址換成自己的。
這個是思路,由于是朋友問我這個問題,我做到這之后沒繼續(xù)弄下去了,讓他自己去解決了,所以如果有人有這個需要的話,可以一起探討!