TP5.1多种登录方式

版权声明:咔咔 来自https://blog.csdn.net/fangkang7 https://blog.csdn.net/fangkang7/article/details/83448875

author:咔咔

wechat:fangkangfk

继这篇源码的基础上做三种登录方式

原理:定义一个属性,将所有的登录方式的字段存起来。在循环查用户名即可

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

源码
 

<?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;
    }
}

猜你喜欢

转载自blog.csdn.net/fangkang7/article/details/83448875