ホームページ  >  記事  >  CMS チュートリアル  >  discuz が自動登録とログインを実装する方法

discuz が自動登録とログインを実装する方法

咔咔
咔咔オリジナル
2020-05-03 21:38:344806ブラウズ

この記事で実装される機能:

1. 元のシステムからフォーラムに入り、自動的にログインして登録します。

2. このページにポップアップ ボックスを実装します。ジャンプ

3.js は、ページが読み込まれるときに登録リクエストを直接開始します。

この関数は、以前は uc_user_register 関数によって処理されていましたが、現在は

uc_user_register
関数によって処理されます。ユーザー空間の問題を開発するときに使用されます。

プロジェクト要件

元のシステムにフォーラムを追加しますが、ユーザー情報を共有する必要があります。

実装方法:フォーラム参加時にオリジナルシステムのユーザー情報を持参し、フォーラムから情報を取得して直接登録します。

元のシステムからフォーラムに入り、自動的に登録、ログインします。

このようなバッファページを用意し、
upload/template/default/touch に配置します。 /member/ register.htm

discuz が自動登録とログインを実装する方法

のページで、元の登録コードを

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(&#39;&&#39;, &#39;&&#39;, dreferer());}-->
   <input type="hidden" id="referer" name="referer" value="$dreferer" />
   <input type="hidden" name="activationauth" value="{if $_GET[action] == &#39;activation&#39;}$activationauth{/if}" />
   <input type="hidden" name="agreebbrule" value="$bbrulehash" id="agreebbrule" checked="checked" />
   <!--{if $_G[&#39;setting&#39;][&#39;sendregisterurl&#39;]}-->
   <input type="hidden" name="hash" value="$_GET[hash]" />
   <!--{/if}-->
   <!--{if $secqaacheck || $seccodecheck}-->
   <!--{subtemplate common/seccheck}-->
   <!--{/if}-->
   </div>
</form>

次に、ページが読み込まれたときにリクエストを直接送信する必要があり、次のコードを追加するだけです。

このページにジャンプせずにポップアップ ボックスを実装し、読み込み時に登録リクエストを直接開始します。

この JS コードで実装される関数: ページの読み込み時に登録リクエストを直接開始します。ロードされ、別のページにジャンプするのではなく、このページに直接表示される情報を返します。

<script>
    var hash = $(&#39;#hash&#39;).val();
    var referer = $(&#39;#referer&#39;).val();
    $.ajax({
        type:&#39;POST&#39;,
        url:"member.php?mod={$_G[setting][regname]}&mobile=2" +&#39;&inajax=1&#39;,
        data:{
            "handlekey":"registerform",
            "inajax" : 1,
            "regsubmit" :"yes",
            "formhash":hash,
            "referer" :referer
        },
        dataType:&#39;xml&#39;
    })
        .success(function(s) {
            popup.open(s.lastChild.firstChild.nodeValue);
            evalscript(s.lastChild.firstChild.nodeValue);
        })
        .error(function() {
            window.location.href = obj.attr(&#39;href&#39;);
            popup.close();
        });
</script>

現時点で必要な最後のステップは、元のシステムから情報を送信するためにどのような形式を使用するかです。この方法はここでは紹介しませんので、シミュレーションデータを作成します。

upload/source/module/member/member_register.php メソッド on_register のコメントに従って独自のコードを追加しますdiscuz が自動登録とログインを実装する方法

効果をテストします

ceshi123 アカウントを登録しますdiscuz が自動登録とログインを実装する方法

#テスト投稿

discuz が自動登録とログインを実装する方法

uc_user_register を使用してみませんか この方法でユーザーを登録する理由

uc_user_register を使用してユーザーを直接登録すると、以下の情報がすべて取得されません

discuz が自動登録とログインを実装する方法

以上がdiscuz が自動登録とログインを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。