本文實現功能:????1.從原有系統進入論壇自動登錄和注冊????2.實現彈框在本頁面,不進行跳轉????3.JS在頁面加載時直接發起注冊請求這個功能之前使用的uc_user_register這個函數來處理的,但是今天在開發用戶空間時就會出現問題。
項目需求
在我們原有的系統上添加一個論壇,但是用戶信息需要共享。
實現方法:在進入論壇時帶上原有系統的用戶信息,然后論壇那邊拿到信息直接注冊即可。
從原有系統進入論壇自動注冊登錄
準備一個這樣的一個緩沖頁面,放到upload/template/default/touch/member/register.htm的頁面中
然后我們需要把原有注冊代碼也需要放到upload/template/default/touch/member/register.htm
放這段代碼的原因是dsicuz在提交表單時會有很多的參數限制,我們就保持原有不動就行了
然后我們需要在頁面加載時直接發情請求,添加下面代碼即可。
實現彈框在本頁面,不進行跳轉,加載時直接發起注冊請求
這段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來直接注冊用戶,就會導致下面的信息全部獲取不到