TP5.1多種登陸方式

author:咔咔

wechat:fangkangfk

 

繼這篇源碼的基礎上作三種登陸方式php

原理:定義一個屬性,將全部的登陸方式的字段存起來。在循環查用戶名便可app

https://blog.csdn.net/fangkang7/article/details/83418641this

源碼
 url

<?php

namespace app\service;

use app\model\user\User;

class UserService
{
    // 定義多種登陸方式
    private $loginWay = [
        // 用戶名
        'user_name',
        // 郵箱
        'user_emal',
        // 電話
        'user_tel'
    ];

    public function login($username,$password)
    {   
        // 使用循環方式判斷用戶名是否存在
        foreach($this->loginWay as $k=>$v){
            $user = User::where([$v=>$username])->find();
            // 若是存在就有這個用戶,跳出
            if($user){
                break;
            }
        }

        if(!$user){
            //用戶名不存在
           return ERROR_NO_USER;
        }
        if($user->user_status != 1){
            // 用戶是否被封
            return ERROR_USER_START;
        }
        if(!password_verify($password,$user->user_password)){
            // 密碼錯誤,登陸失敗
            return ERROR_PASSWORD;
        }
        //登陸成功
        return SUCCESS;
    }
}
相關文章
相關標籤/搜索