本文實作功能:
1.從原始系統進入論壇自動登入與註冊
2.實現彈框在本頁面,不進行跳躍
# 3.js在頁面載入時直接發起註冊請求
這個功能之前使用的
uc_user_register
這個函數來處理的,但是今天在開發用戶空間時就會出現問題。
在我們原有的系統上新增一個論壇,但是使用者資訊需要共用。
實作方法:在進入論壇時帶上原有系統的使用者訊息,然後論壇那邊拿到資訊直接註冊即可。
準備一個這樣的緩衝頁面,放到upload/template/default/touch/member/ register.htm
的頁面中
#然後我們需要把原有註冊程式碼也需要放到upload/template/default /touch/member/register.htm
放這段程式碼的原因是dsicuz在提交表單時會有很多的參數限制,我們就保持原有不動就行了
<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>
然後我們需要在頁面載入時直接發情請求,加入下面程式碼即可。
這段js程式碼實現的功能:在頁面載入時直接發起註冊請求,然後傳回訊息,直接在本頁顯示,而非跳到另一個頁面
<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>
這個時候還需要最後一步的就是從原始系統用什麼情勢來傳過來。這個方式這裡就不提供了,我做一個模擬的數據。
在upload/source/module/member/member_register.php 方法on_register裡邊根據註解添加自己的程式碼即可
我們註冊一個ceshi123的帳號
測試發文
為什麼不使用uc_user_register
這個方法來註冊用戶的原因
如果使用了uc_user_register
來直接註冊用戶,就會導致下面的資訊全部取得不到
以上是discuz如何實現自動註冊登錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!