您好,登錄后才能下訂單哦!
這篇文章主要介紹discuz實現(xiàn)自動注冊登錄的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
本文實現(xiàn)功能:
1.從原有系統(tǒng)進入論壇自動登錄和注冊
2.實現(xiàn)彈框在本頁面,不進行跳轉
3.js在頁面加載時直接發(fā)起注冊請求
這個功能之前使用的
uc_user_register
這個函數(shù)來處理的,但是今天在開發(fā)用戶空間時就會出現(xiàn)問題。
在我們原有的系統(tǒng)上添加一個論壇,但是用戶信息需要共享。
實現(xiàn)方法:在進入論壇時帶上原有系統(tǒng)的用戶信息,然后論壇那邊拿到信息直接注冊即可。
準備一個這樣的一個緩沖頁面,放到upload/template/default/touch/member/register.htm
的頁面中
然后我們需要把原有注冊代碼也需要放到upload/template/default/touch/member/register.htm
放這段代碼的原因是dsicuz在提交表單時會有很多的參數(shù)限制,我們就保持原有不動就行了
<form method="post" autocomplete="off" name="register" id="registerform" action="member.php?mod={$_G[setting][regname]}&mobile=2"> <input type="hidden" name="regsubmit" value="yes" /> <input type="hidden" id="hash" name="formhash" value="{FORMHASH}" /> <!--{eval $dreferer = str_replace('&', '&', dreferer());}--> <input type="hidden" id="referer" name="referer" value="$dreferer" /> <input type="hidden" name="activationauth" value="{if $_GET[action] == 'activation'}$activationauth{/if}" /> <input type="hidden" name="agreebbrule" value="$bbrulehash" id="agreebbrule" checked="checked" /> <!--{if $_G['setting']['sendregisterurl']}--> <input type="hidden" name="hash" value="$_GET[hash]" /> <!--{/if}--> <!--{if $secqaacheck || $seccodecheck}--> <!--{subtemplate common/seccheck}--> <!--{/if}--> </div> </form>
然后我們需要在頁面加載時直接發(fā)情請求,添加下面代碼即可。
這段js代碼實現(xiàn)的功能:在頁面加載時直接發(fā)起注冊請求,然后返回信息,直接在本頁面顯示,而非跳轉到另一個頁面
<script> var hash = $('#hash').val(); var referer = $('#referer').val(); $.ajax({ type:'POST', url:"member.php?mod={$_G[setting][regname]}&mobile=2" +'&inajax=1', data:{ "handlekey":"registerform", "inajax" : 1, "regsubmit" :"yes", "formhash":hash, "referer" :referer }, dataType:'xml' }) .success(function(s) { popup.open(s.lastChild.firstChild.nodeValue); evalscript(s.lastChild.firstChild.nodeValue); }) .error(function() { window.location.href = obj.attr('href'); popup.close(); }); </script>
這個時候還需要最后一步的就是從原系統(tǒng)用什么形勢來傳過來。這個方式這里就不提供了,我做一個模擬的數(shù)據(jù)。
在upload/source/module/member/member_register.php 方法 on_register里邊根據(jù)注釋添加自己的代碼即可
我們注冊一個ceshi123的賬號
測試發(fā)帖
為什么不使用uc_user_register
這個方法來注冊用戶的原因
如果使用了uc_user_register
來直接注冊用戶,就會導致下面的信息全部獲取不到
以上是discuz實現(xiàn)自動注冊登錄的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。