本文目录一览:
- ThinkPHP要做一个登录判断的控制器让其他控制器来继承它,如果没登录就跳转到登录页面,怎么写?
- PHP请求拦截器的实现
- PHP有拦截器的功能吗
- thinkphp中若未登录,则不允许访问任何方法,怎么实现
- 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有拦截器的功能吗
在 PHP 中一般用 session
或者 cookie
来标志是否登录。
有了思想,难道这个不能用 PHP 模拟...
Struts2 的东西,其实很多都可以用 PHP 模拟的...
thinkphp中若未登录,则不允许访问任何方法,怎么实现
写一个 Base
基类,所有除了登录页面和用户不登录可以看见的页面的控制器,其它都继承自 Base
基类,然后在基类的构造方法里面写上是否有登录的信息,没有跳登录页!
php登陆界面以及后台操作没有登陆就不能访问网站消息
else
echo
用户名错误或密码错误; // 中文没有用双引号扩起来
你要把某些变量保存进 session 应该先 session_start();
对任何时候操作到 session 的时候都应该先 session_start();
下
form 的提交方式错了,应该是 POST
form 中的 possword 的名字错了,name 应该是 mima
你先修改代码,如果还出错,再追问,没错求采纳