tp6 实现简单登录

1、配置路由

  //登录页面
    Route::get('login','Login/login');

2、写html表单页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .main{
            width: 500px;
            margin: 10px auto;
            padding: 30px;
            box-shadow: black 0 0 10px;
        }
        span{
            color: red;
        }
    </style>
    <!--    引入jquery-->
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.1/jquery.js"></script>
    <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
</head>
<body>
<div class="main">
    <div class="form-group">
        <label for="account">账号</label>
        <input type="text" class="form-control" id="account" placeholder="请输入您的账号">
        <span class="error"></span>
    </div>
    <div class="form-group">
        <label for="password">密码</label>
        <input type="password" class="form-control" id="password" placeholder="请输入您的密码">
        <span class="error"></span>
    </div>
    <button type="button" id="btn" class="btn btn-primary">登录</button>
</div>
</body>

3、控制器方法

     /**
     * @return \think\response\View
     * 登录页面
     */
   public function login(){
       return view();
   }

4、ajax异步请求

<script>
    //给定button按钮点击事件
    $('#btn').click(function () {
        //接收账号
        let account = $('#account').val();
        //判断非空验证
        if (account == ''){
            $('.error:eq(0)').text('账号不能为空');
            return false;
        }else{
            $('.error:eq(0)').text('');
        }
        //接收密码
        let password = $('#password').val();
        //判断非空
        if (password == ''){
            $('.error:eq(1)').text('密码不能为空');
            return false;
        }else {
            $('.error:eq(1)').text('');
        }
        //异步请求
        $.ajax({
            url:'doLogin',
            dataType:'json',
            data:{
                account:account,
                password:password
            },
            type:'post',
            success:function (response) {
                if (response.code == 2001){
                    $('.error:eq(0)').text(response.msg);
                    return false;
                }else if (response.code == 2002){
                    $('.error:eq(1)').text(response.msg);
                    return false;
                }else if (response.code == 200){
                   window.location.href= '';
                }
            }
        })


    })
</script>

 5、配置数据库

// 数据库连接配置信息
    'connections'     => [
        'mysql' => [
            // 数据库类型
            'type'            => env('database.type', 'mysql'),
            // 服务器地址
            'hostname'        => env('database.hostname', '127.0.0.1'),
            // 数据库名
            'database'        => '在此输入本地或线上数据库名',
            // 用户名
            'username'        => '数据库的账号',
            // 密码
            'password'        => '数据库密码',
            // 端口
            'hostport'        => env('database.hostport', '3306'),
            // 数据库连接参数
            'params'          => [],
            // 数据库编码默认采用utf8
            'charset'         => env('database.charset', 'utf8'),
            // 数据库表前缀
            'prefix'          => env('database.prefix', ''),

            // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
            'deploy'          => 0,
            // 数据库读写是否分离 主从式有效
            'rw_separate'     => false,
            // 读写分离后 主服务器数量
            'master_num'      => 1,
            // 指定从服务器序号
            'slave_no'        => '',
            // 是否严格检查字段是否存在
            'fields_strict'   => true,
            // 是否需要断线重连
            'break_reconnect' => false,
            // 监听SQL
            'trigger_sql'     => env('app_debug', true),
            // 开启字段缓存
            'fields_cache'    => false,
        ],


6、后端接收数据 查询数据库

/**
     * 登录的方法
     * @param Request $request
     * @return \think\response\Json
     */
   public function doLogin(Request $request){
       try {
            //接收账号
           $account = $request->post('account');
            //接收密码
           $password = $request->post('password');
            //调用数据库查询一天数据
           $sql = \app\one\model\Login::where('account',$account)->find();
            //判断账号是否存在
           if (!$sql){
               throw new \Exception('账号不存在',2001);
            //判断密码
           }elseif ($sql['password'] != encrypt_password($password)){
               throw new \Exception('密码错误',2002);
               //成功
           }else{
               return json(['code'=>200,'msg'=>'登录成功','data'=>[]]);
           }
       }catch (\Exception $exception){
            //捕获异常
           return json(['code'=>$exception->getCode(),'msg'=>$exception->getMessage(),'data'=>[]]);
       }

   }

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值