Tp6 登录 在Base控制器initialize初始化,redirect无法跳转解决方案

TP6 慕课Singwa老师授书第6章12讲,视频提到的方法

新建父类AdminBase 代码如下

<?php
/**
 *   User: 心源
 *   Date: 2024/3/15
 *   Time: 14:52
 */
namespace app\admin\controller;
use app\BaseController;
use think\exception\HttpResponseException;

class AdminBase extends BaseController
{
    public $adminUser=null;
    public function initialize()
    {
        parent::initialize();
        //判断是否登录
        if(empty($this->isLogin())){//没登录
            return $this->redirect(url('login/index'),302);

        }
    }

    /**
     * 判断是否登录
     * @return bool
     */
    public function isLogin()
    {
       $this->adminUser= session(config("admin.session_admin"));
       if(empty($this->adminUser)){
           return false;
       }
       return true;

    }

    public function redirect(...$args){
        throw new HttpResponseException(redirect(...$args));
    }

}

登录类Login.php 代码如下
 

<?php
/**
 *   User: 心源
 *   Date: 2024/3/13
 *   Time: 17:40
 */
namespace app\admin\controller;
use think\facade\View;
use app\common\model\mysql\AdminUser;
class Login extends AdminBase
{
    public function initialize()
    {
            if($this->isLogin()){
             
               return $this->redirect(url("/admin/index/index"));
	         
            }
    }
    public function index()
    {
        return View::fetch();
    }
   
}

在AdminBase类中,$this->redirect跳转到 redirect处理时发生报错无法正常跳转,建议改用header()函数,会更方法。

函数说明:

header('location:/模块/控制器/方法);

login登录文件

Adminbase类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值