tp框架的后台登录(二)

登录相关路由设置

Route::rule('/admin/login', 'admin/LoginController/login');
Route::rule('/yzm', 'admin/LoginController/verify');
Route::rule('/admin/dologin', 'admin/LoginController/doLogin');

1.创建后台登录控制器

php think make:controller admin/LoginController

2.登录表单

//获取登录表单
public function login()
{
return view('login/login');
}

3.表单页面

View/login/login.html 修改表单  准备验证码

//生成验证码图片
public function verify()
{
    $captcha = new Captcha();
    $captcha -> imageH = 35;
    $captcha -> imageW = 120;
    $captcha -> length = 4;
    $captcha -> fontSize = 18;
    $captcha -> useCurve = false;
    return $captcha->entry(); 
}


<form action="/admin/dologin" method="post">
    <ul class="admin_items">
        <li>
            <label for="user">用户名:</label>
            <input type="text" name="username" value="" id="user" size="40" class="admin_input_style" />
        </li>
        <li>
            <label for="pwd">密码:</label>
            <input type="password" name="password" value="" id="pwd" size="40" class="admin_input_style" />
        </li>

        <li>
            <label for="pwd">验证码:</label>
            <input type="text" name="yzm" value="" id="pwd" size="15" class="admin_input_style" /><img src="/yzm" onclick="this.src='/yzm/?id='+Math.random();">
        </li>
        <li>
            <input type="submit" tabindex="3" value="提交" class="btn btn-primary" />
        </li>
    </ul>
</form>

4.进行登录验证

public function doLogin(Request $request)
{
    $code = $request -> post('yzm');
    $captcha = new Captcha();
    //验证码验证
    if (!$captcha -> check($code)) {
        $this -> error('验证码错误, 请重新输入', '/admin/login');
    }


    //验证用户名  密码
    //接收
    $uname = $request -> post('username');
    $upass = md5($request -> post('password'));
    //dump($upass);
    $user = User::where('username','=',$uname) -> where('password', '=', $upass) -> find();

    if ($user) {
        if ($user['qx'] == 1) {
            //登录成功后 将用户信息保存在session中 方便访问
            session('adminUserInfo', $user);
            session('adminFlag', true);
            $this -> success('登录成功', '/admin');
        } else {
            $this -> error('没有权限登录', '/admin/login');
        }
    } else {
        $this -> error('账号或密码不对', '/admin/login');
    }


}

5.模板显示

管理员:{:session(adminUserInfon.username')}

6.用户退出

public function logout()
{
    session('adminFlag', false);
    $this -> success('退出成功', '/admin/login');
}

7.在后台模块使用登录验证

public function __construct()
{
    if (empty(session('adminFlag'))) {
        $this -> error('请先登录', '/admin/login');
    }
}

8.也可以使用 行为 路由参数

后置行为执行

V5.1.6+版本开始建议使用中间件替代路由后置行为。
可以为某个路由或者某个分组路由定义后置行为执行,表示当路由匹配成功后,执行的行为,例如:

Route::get('user/:id', 'User/read')
    ->after(['\app\admin\behavior\类名']);




<?php

namespace app\admin\behavior;

use think\Controller;

class CheckLogin extends Controller
{
    public function run()
    {
        echo 'aaaaaaa';
    }
}

//测试
Route::rule('/test', function(){
    (new app\admin\behavior\CheckLogin) -> run();

});

用户操作路由 也可以使用路由组的方式写 方便加登录验证

Route::rule('/user/create', 'admin/UserController/create');
Route::rule('/user/save', 'admin/UserController/save');
Route::rule('/user/index', 'admin/UserController/index');
Route::rule('/user/delete/:id', 'admin/UserController/delete');
Route::rule('/user/edit/:id', 'admin/UserController/edit');
Route::rule('/user/update/:uid', 'admin/UserController/update');

路由组

Route::group(['name' => 'user', 'prefix' => 'admin/UserController/'],function(){
    Route::rule('create', 'create', 'get');
    Route::rule('save', 'save');
    Route::rule('index', 'index');
    Route::rule('delete/:id', 'delete');
    Route::rule('edit/:id', 'edit');
    Route::rule('update/:uid', 'update');
});



Route::group(['name' => 'user', 'prefix' => 'admin/UserController/'],function(){
    Route::rule('create', 'create', 'get');
    Route::rule('save', 'save');
    Route::rule('index', 'index');
    Route::rule('delete/:id', 'delete');
    Route::rule('edit/:id', 'edit');
    Route::rule('update/:uid', 'update');
}) -> after(['\app\admin\behavior\CheckLogin']);
TP3.2后台管理源码是指基于TP3.2框架开发的一套后台管理系统的源代码。TP3.2是ThinkPHP框架的一个版本,广泛应用于Web应用的开发。后台管理系统是指用于管理网站或应用程序后台内容的系统,例如内容发布、用户管理、权限控制等功能。 TP3.2后台管理源码中包含了实现后台管理所需的各种功能和模块。其中,核心代码包括框架的入口文件、配置文件以及一些公共的函数和类库。此外,源码还包括了后台管理系统的各个模块的代码,如用户管理模块、权限管理模块、内容发布模块等。 使用TP3.2后台管理源码可以快速搭建一个功能完善的后台管理系统。通过该源码,我们可以进行用户的管理,包括添加、删除、修改用户的基本信息,以及设置用户的权限。同时,还可以进行内容的管理,可以发布、编辑、删除文本、图片、视频等不同类型的内容。此外,还可以对系统进行设置,包括网站名称、基本信息、SEO设置等。 TP3.2后台管理源码的好处是方便、快捷、高效。通过使用这套源码,我们可以省去从零开始开发后台管理系统的时间和精力,减少开发过程中的问题和错误。同时,由于基于TP3.2框架开发,源码具有良好的可扩展性和稳定性,可以根据实际需求进行次开发和定制。 总结来说,TP3.2后台管理源码是一套基于ThinkPHP框架开发的后台管理系统的源代码,通过使用该源码可以快速搭建一个功能完善的后台管理系统,提高开发效率和质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值