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