日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

這篇文章主要介紹了ThinkPHP6通過Ucenter實現注冊登錄的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

在和ucenter通信成功后,實現注冊登錄就非常簡單了。簡要記錄如下。

1、新建一個controller用來繼承Ucenter\Controller\UcController,并新建構造方法,用來實例化UcController

<?php
declare (strict_types = 1);

namespace app\controller;
use Ucenter\Controller\UcController;

class uc extends UcController
{
    /**
     * 構造方法,用于實例化 UcController
     */
    public function __construct(){
        $this->init();
    }
}

2、index controller添加uc類變量。

private $uc;

3、index方法中實例化uc控制器,對UCenter接口的操作通過$this->uc來完成。

$this->uc = new uc();

以上兩步完成后,就可以在代碼合適的地方調用ucenter接口進行注冊登錄了。以下是我項目中的代碼片段,僅供參考。

4、注冊時驗證用戶名是否已經存在以及是否合法

    $username = $data['Content'];
    $result = $this->uc->uc_check_name($username);
    switch ($result) {
        case -1:
            $reason = "用戶名不合法";
            break;
        case -2:
            $reason = "包含不允許注冊的詞語";
            break;
        case -3:
            $reason = "用戶名已經存在";
            break;
    }
    if ($result != 1) {
        $this->_resetStep();
        return array(join("\n", array_merge(array('【注冊】注冊失敗', $reason), $this->_guestActions())),'text');
    } else {
        $this->_setStep(self::STEP_REGISTER_PASSWORD);
        Session::set('username', $data['Content']);
        return array('【注冊】請輸入密碼', 'text');
    }
}

5、輸入密碼后調用ucenter進行注冊,因為ucenter注冊時必帶username,password,email,所以需要為用戶生成默認的email

//注冊->輸入密碼
if ($this->_currentStep() == self::STEP_REGISTER_PASSWORD) {
    $this->_resetStep();
    Session::set('password', $data['Content']);
    //call ucenter to register user
    $username_valid = $this->uc->uc_check_name(Session::get('username'));
    Log::write('$username_valid' . $username_valid, 'debug');
    if ($username_valid == 1) {
        //register
        Log::write('start register ' . Session::get('username'), 'debug');
        $email = "reg_" . substr(Session::getId(), 0, 3) . time() . substr(Session::getId(), 7, 4) . "@null.null";
        //$email = Session::get('username').'@'.Session::get('username').'.com';
        $register_result = $this->uc->uc_register(Session::get('username'), Session::get('password'), $email);
        Log::write('register result is ' . $register_result, 'debug');
        switch ($register_result) {
            case -1:
                $reason = "用戶名不合法";
                break;
            case -2:
                $reason = "包含不允許注冊的詞語";
                break;
            case -3:
                $reason = "用戶名已經存在";
                break;
            case -4:
                $reason = "Email格式有誤";
                break;
            case -5:
                $reason = "Email不允許注冊";
                break;
            case -6:
                $reason = "該Email已經被注冊";
                break;
        }
        if ($register_result > 0) {
            Log::write('Ucenter register successful' . Session::get('username'), 'debug');
            return array(join("\n", array_merge(array('【注冊】注冊成功'), $this->_guestActions())), 'text');
        } else {
            Log::write('Ucenter register failed' . $reason, 'debug');
            $this->_resetSession();
            return array(join("\n", array_merge(array('【注冊】注冊失敗', $reason), $this->_guestActions())), 'text');
        }
    }
}

6、登錄時傳入用戶輸入的用戶名和密碼即可。登陸成功后將用戶名和密碼寫入session文件。

$result = $this->uc->uc_login(Session::get('username'), $data['Content']);

到此這篇關于ThinkPHP6通過Ucenter實現注冊登錄的示例代碼的文章就介紹到這了。希望對大家的學習或者工作具有一定的參考學習價值。



分享到:
標簽:ThinkPHP6 Ucenter 注冊登錄的示例代碼
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定