基于UC的PHP產(chǎn)品免激活整合_第1頁(yè)
基于UC的PHP產(chǎn)品免激活整合_第2頁(yè)
基于UC的PHP產(chǎn)品免激活整合_第3頁(yè)
基于UC的PHP產(chǎn)品免激活整合_第4頁(yè)
基于UC的PHP產(chǎn)品免激活整合_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于UCC的PHHP產(chǎn)品品免激活活整合文 / 劉鵬本文將以以UCeenteer、UUCHoome、Disscuzz!、SSupeeSitte為基基礎(chǔ)進(jìn)行行講解,文中提提及的方方法同樣樣適用于于其它非非康盛產(chǎn)產(chǎn)品,只只要是通通過(guò)UCCentter進(jìn)進(jìn)行整合合的,都都可用文文中提到到的方法法。下面面我就和和大家一一起學(xué)習(xí)習(xí)一下吧吧。一、安裝裝產(chǎn)品安裝UCCentter的的過(guò)程就就不必多多講了,大家應(yīng)應(yīng)該在無(wú)無(wú)數(shù)次的的實(shí)踐中中已經(jīng)可可以做到到閉著眼眼裝了。所以我我們此步步略過(guò)。其他產(chǎn)產(chǎn)品的安安裝才是是我們重重點(diǎn)要了了解的。為了更快快捷的完完成產(chǎn)品品的安裝裝,UCCentter(以下簡(jiǎn)簡(jiǎn)稱UCC)中為

2、為我們提提供了應(yīng)應(yīng)用管理理的功能能,每一一個(gè)產(chǎn)品品對(duì)于UUC來(lái)說(shuō)說(shuō),都是是一個(gè)應(yīng)應(yīng)用。我們通過(guò)過(guò)UC提提供的應(yīng)應(yīng)用管理理功能來(lái)來(lái)安裝其其他產(chǎn)品品。我們?cè)谳斴斎肟蛑兄休斎胄栊枰惭b裝的應(yīng)用用的安裝裝地址,然后點(diǎn)點(diǎn)擊安裝裝。點(diǎn)擊安裝裝按鈕之之后我們們將進(jìn)入入SuppeSiite的的安裝過(guò)過(guò)程,在在安裝過(guò)過(guò)程中系系統(tǒng)會(huì)自自動(dòng)把UUC的信信息獲取取到,然然后寫入入相應(yīng)的的表中。整個(gè)流流程完成成之后,我們返返回應(yīng)用用管理功功能,會(huì)會(huì)看到這這樣的信信息。系統(tǒng)提示示我們安安裝了那那個(gè)應(yīng)用用,訪問(wèn)問(wèn)地址是是什么。然后通通信狀態(tài)態(tài)告訴我我們成功功。這種種情況下下,我們們的SuupeSSitee就安裝裝好了。其他

3、的的應(yīng)用我我們也按按照這個(gè)個(gè)步驟來(lái)來(lái)安裝,需要注注意的是是,我們們需要把把所有的的應(yīng)用的的數(shù)據(jù)庫(kù)庫(kù)都指向向同一個(gè)個(gè)數(shù)據(jù)庫(kù)庫(kù),當(dāng)然然也可以以分開(kāi),但是個(gè)個(gè)人建議議合在一一起比較較好。上圖告訴訴我們,三個(gè)應(yīng)應(yīng)用都已已經(jīng)安裝裝好了,而且通通信都成成功,所所以目前前三個(gè)應(yīng)應(yīng)用已經(jīng)經(jīng)可以實(shí)實(shí)現(xiàn)同步步登陸了了。我們實(shí)際際中到網(wǎng)網(wǎng)站中去去做測(cè)試試,我們們?cè)赟uupeSSitee登陸后后,我們們發(fā)現(xiàn)在在其他的的應(yīng)用中中我們需需要刷新新一次,然后我我們就能能看到我我們的個(gè)個(gè)人信息息了。同同時(shí)我們們發(fā)現(xiàn)三三個(gè)應(yīng)用用的登陸陸已經(jīng)同同步完成成。我們?cè)谌稳魏我粋€(gè)個(gè)應(yīng)用中中點(diǎn)擊退退出,再再到其他他應(yīng)用中中刷新一一下,我我

4、們會(huì)看看到,所所有的應(yīng)應(yīng)用都已已經(jīng)是未未登陸狀狀態(tài)。至至此,最最簡(jiǎn)單的的同步登登陸設(shè)置置已經(jīng)完完成。但但是本文文所要講講述的,可不僅僅僅是這這一點(diǎn)點(diǎn)點(diǎn)東西哦哦,更進(jìn)進(jìn)一步的的東西,我們慢慢慢道來(lái)來(lái)。二、用戶戶注冊(cè)現(xiàn)在這種種情況下下,我們們?cè)诓煌膽?yīng)用用進(jìn)行注注冊(cè)操作作,我們們會(huì)發(fā)現(xiàn)現(xiàn)注冊(cè)后后可以在在注冊(cè)的的應(yīng)用正正常登陸陸,如果果在SuupeSSitee注冊(cè),登錄后后,我們們?nèi)ピL問(wèn)問(wèn)Disscuzz!,我我們會(huì)發(fā)發(fā)現(xiàn)Diiscuuz!要要求我們們進(jìn)行激激活,點(diǎn)點(diǎn)擊激活活后我們們會(huì)進(jìn)行行一次登登陸的操操作。此此次登陸陸操作結(jié)結(jié)束之后后,我們們以后就就可以進(jìn)進(jìn)行正常常的同步步登陸,而不需需要再進(jìn)

5、進(jìn)行其他他操作了了?,F(xiàn)在我們們要解決決的就是是激活和和需要再再登錄一一遍的問(wèn)問(wèn)題。在在此之前前,我們們需要了了解一下下問(wèn)題產(chǎn)產(chǎn)生的原原因。我們要注注意下以以下四個(gè)個(gè)表:Cdb_memmberrsSupee_meembeersUchoome_memmberrUc_mmembberss當(dāng)我們?cè)谠诓煌牡漠a(chǎn)品的的注冊(cè)接接口進(jìn)行行注冊(cè)以以后,都都會(huì)向uuc_mmembberss和本產(chǎn)產(chǎn)品的mmembberss表里寫寫入用戶戶信息,并不向向其他的的用戶表表寫入信信息。而而已知的的每一個(gè)個(gè)產(chǎn)品都都是可以以獨(dú)立使使用的。也就是是說(shuō)我們們需要向向每一個(gè)個(gè)用戶表表中寫入入用戶信信息。當(dāng)當(dāng)然這個(gè)個(gè)信息不不能隨便便

6、寫入,要遵守守一定的的規(guī)則。所有的用用戶IDD都應(yīng)該該與UCC中的用用戶IDD一致,從而達(dá)達(dá)到同步步操作。有用戶信信息關(guān)聯(lián)聯(lián)表的,要激活活關(guān)聯(lián)表表中的信信息。除UC的的密碼字字段有效效外,其其他應(yīng)用用的密碼碼字段無(wú)無(wú)效。統(tǒng)一用戶戶驗(yàn)證必必須使用用UC的的接口,而不是是應(yīng)用本本身的接接口。/更新本地用戶庫(kù)inserttable(member, $setarr, 0, true);/開(kāi)通空間include_once(S_ROOT./source/function_space.php);$space = space_open($newuid, $username, 0, $email);我們將以以U

7、CHHomee為例進(jìn)進(jìn)行修改改。我們打開(kāi)開(kāi)souurcee/doo_reegissterr.phhp/添加數(shù)據(jù)function inserttable($tablename, $insertsqlarr, $returnid=0, $replace = false, $silent=0) global $_SGLOBAL;$insertkeysql = $insertvaluesql = $comma = ;foreach ($insertsqlarr as $insert_key = $insert_value) $insertkeysql .= $comma.$insert_key.;$i

8、nsertvaluesql .= $comma.$insert_value.;$comma = , ;$method = $replace?REPLACE:INSERT;$_SGLOBALdb-query($method. INTO .tname($tablename). (.$insertkeysql.) VALUES (.$insertvaluesql.), $silent?SILENT:);if($returnid & !$replace) return $_SGLOBALdb-insert_id();我們看到到有注釋釋告訴我我們更新新本地用用戶庫(kù),也就是是說(shuō)這個(gè)個(gè)方法是是將剛才才的注冊(cè)

9、冊(cè)信息寫寫入ucchomme_mmembber表表中的地地方。我我們需要要做的呢呢就是把把向SuupeSSitee和Diiscuuz!中中用戶表表寫入數(shù)數(shù)據(jù)的語(yǔ)語(yǔ)句放在在這里執(zhí)執(zhí)行。我們首先先打開(kāi)ssourrce/funnctiion_commmonn.phhp/添加數(shù)據(jù)function inserttable($tablename, $insertsqlarr, $returnid=0, $replace = false, $silent=0, $db=uchome) global $_SGLOBAL;$insertkeysql = $insertvaluesql = $comma = ;如

10、上腳本本所示的的這個(gè)函函數(shù),我我們需要要為他做做一個(gè)小小手術(shù),讓他更更符合我我們的要要求。foreach ($insertsqlarr as $insert_key = $insert_value) $insertkeysql .= $comma.$insert_key.;$insertvaluesql .= $comma.$insert_value.;$comma = , ;$method = $replace?REPLACE:INSERT;if($db=uchome)$_SGLOBALdb-query($method. INTO .tname($tablename). (.$insertk

11、eysql.) VALUES (.$insertvaluesql.), $silent?SILENT:);else$_SGLOBALdb-query($method. INTO .$tablename. (.$insertkeysql.) VALUES (.$insertvaluesql.), $silent?SILENT:);if($returnid & !$replace) return $_SGLOBALdb-insert_id();經(jīng)過(guò)上面面修改之之后,這這個(gè)函數(shù)數(shù)就可以以為我們們提供便便捷的數(shù)數(shù)據(jù)庫(kù)操操作了。以后我們們只要按按上圖的的方法向向里面?zhèn)鱾鲄?shù)就就可以加加入相應(yīng)應(yīng)的數(shù)據(jù)據(jù)了

12、,至至于$ssetaarr這這個(gè)數(shù)組組都有什什么,還還希望讀讀者自己己去研究究,畢竟竟有可供供參考的的了。/更新本地用戶庫(kù)inserttable(member, $setarr, 0, true);/插入到states表中inserttable(states, $setarr_states, 0, true);inserttable(supe_member, $setarr, 0, true,0,supesite);/更新supesite用戶庫(kù)inserttable(cdb_member, $setarr_cdb, 0,false,0,discuz);/更新discuz用戶庫(kù)現(xiàn)在我們們也只是是

13、實(shí)現(xiàn)了了一次注注冊(cè),所所有的應(yīng)應(yīng)用都可可用,也也就是說(shuō)說(shuō)我們已已經(jīng)實(shí)現(xiàn)現(xiàn)了基于于UCHHOMEE的單點(diǎn)點(diǎn)注冊(cè)登登陸,現(xiàn)現(xiàn)在注冊(cè)冊(cè)完成了了,我們們還需要要調(diào)用一一下全局局登陸的的方法。我們通過(guò)過(guò)實(shí)際的的操作發(fā)發(fā)現(xiàn),注注冊(cè)完成成后,UUCHoome會(huì)會(huì)自動(dòng)跳跳向sppacee.phhp。所所以接下下來(lái)我們們就要在在spaace.phpp做文章章。require_once(./uc_client/client.php);$login=uc_user_synlogin($_SGLOBALsupe_uid);require_once(S_ROOT./soure/space_$do.php);我們?cè)趕sp

14、acce.pphp的的最后加加上紅圈圈中的兩兩行代碼碼,首先先我們要要把UCC的操作作接口文文件加載載進(jìn)來(lái),然后調(diào)調(diào)用全局局登陸方方法,把把當(dāng)前用用戶的IID傳過(guò)過(guò)去。這這樣以后后,會(huì)返返回一個(gè)個(gè)字符串串,我們們將其存存放在$loggin這這個(gè)變量量中。我我們需要要把這個(gè)個(gè)字符串串輸出才才能實(shí)現(xiàn)現(xiàn)全局登登陸,如如果我們們?cè)谶@里里直接eechoo$llogiin的話話,這個(gè)個(gè)字符串串會(huì)出現(xiàn)現(xiàn)在頁(yè)面面的最上上面一行行,會(huì)造造成頁(yè)面面的整體體偏移,所以我我們將他他輸出到到我們希希望他出出現(xiàn)的地地方。我我們選擇擇了heeadeer.hhtm$login我們選擇擇在標(biāo)簽結(jié)結(jié)束的時(shí)時(shí)候輸出出這行字字符串,

15、這樣的的話,頁(yè)頁(yè)面就不不會(huì)出現(xiàn)現(xiàn)問(wèn)題,這行字字符串的的具體內(nèi)內(nèi)容有心心的讀者者請(qǐng)自己己去看吧吧。我就就不截圖圖給大家家了。所有的操操作執(zhí)行行到現(xiàn)在在,我們們已經(jīng)可可以在注注冊(cè)的時(shí)時(shí)候向各各個(gè)應(yīng)用用同時(shí)寫寫入用戶戶數(shù)據(jù),避免了了激活的的操作;同時(shí)我我們也調(diào)調(diào)用了全全局登陸陸的方法法,使得得注冊(cè)成成功就可可以在各各個(gè)應(yīng)用用同時(shí)登登錄。本本文的目目的也就就達(dá)到了了。其中中還有一一些技巧巧和方法法在此留留點(diǎn)兒懸懸念,讓讓大家自自己去思思考。最后我們們總結(jié)一一下,首首先我們們需要UUC的支支持,讓讓所有的的應(yīng)用在在UC下下通信成成功,然然后去修修改一個(gè)個(gè)應(yīng)用的的注冊(cè)文文件,在在寫入數(shù)數(shù)據(jù)庫(kù)的的時(shí)候分分別向其其他表寫寫入數(shù)據(jù)據(jù),最后后在跳轉(zhuǎn)轉(zhuǎn)的第一一個(gè)頁(yè)調(diào)調(diào)用全局局登陸方方法,在在heaaderr.httm里輸輸出獲得得的字符符串。最最終實(shí)現(xiàn)現(xiàn)共同富富裕(登登陸)。好了,到到這里基基本上就就說(shuō)的差差不多了了,最后后我

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論