php未登录拦截器,php未登录拦截器怎么办

发布时间:2022-11-17

本文目录一览:

  1. ThinkPHP要做一个登录判断的控制器让其他控制器来继承它,如果没登录就跳转到登录页面,怎么写?
  2. PHP请求拦截器的实现
  3. PHP有拦截器的功能吗
  4. thinkphp中若未登录,则不允许访问任何方法,怎么实现
  5. php登陆界面以及后台操作没有登陆就不能访问网站消息

ThinkPHP要做一个登录判断的控制器让其他控制器来继承它,如果没登录就跳转到登录页面,怎么写?

新建一个 CommonController 控制器,然后把下边代码复制进去。登录成功就创建 session,否则就检测当前访问的控制器和方法有没有在允许访问的方法内,有就允许访问,没有就跳转到登录。

<?php
namespace Admin\Controller;
use Think\Controller;
class CommonController extends Controller {
    function __construct() {
        parent::__construct();
        $nowca = CONTROLLER_NAME . "/" . ACTION_NAME;
        $adname = $_SESSION['admin_name'];
        $AdminId = $_SESSION['admin_id'];
        $loginca = "Index/login,Index/check_user"; // 未登录允许访问的控制器和方法
        if (empty($adname) && strpos($loginca, $nowca) === false) {
            $url = __MODULE__;
            echo 'literalscript>window.top.location.href="' . $url . '/Index/login";</script>/literal';
            exit;
        }
    }
    function _empty() {
        header("HTTP/1.0 404 Not Found");
        $this->display('templet/admin/404.html');
    }
}

PHP请求拦截器的实现

就是几个 $_SERVER 的变量:

$url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
echo $url;

这两个就是你想要的东东。

PHP有拦截器的功能吗

thinkphp中若未登录,则不允许访问任何方法,怎么实现

写一个 Base 基类,所有除了登录页面和用户不登录可以看见的页面的控制器,其它都继承自 Base 基类,然后在基类的构造方法里面写上是否有登录的信息,没有跳登录页!

php登陆界面以及后台操作没有登陆就不能访问网站消息

else
echo
用户名错误或密码错误; // 中文没有用双引号扩起来

你要把某些变量保存进 session 应该先 session_start();
对任何时候操作到 session 的时候都应该先 session_start(); 下 form 的提交方式错了,应该是 POST
form 中的 possword 的名字错了,name 应该是 mima
你先修改代码,如果还出错,再追问,没错求采纳