thinkPHP框架实现类似java过滤器的简单方法示例
本文实例讲述了thinkPHP框架实现类似java过滤器的简单方法。分享给大家供大家参考,具体如下:
写java web代码的时候,可以定义过滤器,对控制器进行过滤,可以实现权限验证等等
在thinkphp中也可以通过继承父类的方法,实现类似的需求
父类代码
<?php
/**
* Created by PhpStorm.
* User: xieyicheng
* Date: 2014/12/11
* Time: 14:43
*/
namespace Admin\Controller;
use Think\Controller;
class CommonController extends Controller
{
public function _initialize()
{
if(!isset($_SESSION['username'])) {
redirect( U('Admin/Login/index'), 0);//没登陆,跳转到登陆页
}
}
}
子类代码
<?php
/**
* Created by PhpStorm.
* User: xieyicheng
* Date: 2014/12/4
* Time: 13:06
*/
namespace Admin\Controller;
use Home\Model;
use Admin\Model\Shop;
class FileController extends CommonController
{
public function index()
{
$this->display();
}
}
这样子类在调用控制器的方法前,就会先执行验证登陆的操作了
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
相关推荐
-
thinkphp3.x中变量的获取和过滤方法详解
本文实例讲述了thinkphp3.x中变量的获取和过滤方法.分享给大家供大家参考,具体如下: 这里我们来学习如何在ThinkPHP中使用变量和对变量进行过滤. 在Web开发过程中,我们经常需要获取系统变量或者用户提交的数据,这些变量数据错综复杂,而且一不小心就容易引起安全隐患,但是如果利用好ThinkPHP提供的变量获取功能,就可以轻松的获取和驾驭变量了. 一.获取变量 1.首先,我们来谈下如何获取变量. 第一种方式:传统获取方式,你仍然可以在开发过程中使用传统方式获取各种系统变量,例如: $i
-
ThinkPHP之用户注册登录留言完整实例
本文以实例形式讲述ThinkPHP实现的包括用户的注册.登录以及留言等功能,这里需要大家注意的是,在存在用户模型的情况下实例化一个用户类的时候使用D方法来实现. UserActiion.class.php页面: <?php class UserAction extends Action{ public function add(){ $user = D("user"); $user->create(); $result = $user->add(); if($re
-
thinkPHP实现的验证码登录功能示例
本文实例讲述了thinkPHP实现的验证码登录功能.分享给大家供大家参考,具体如下: 使用thinkphp自带的验证,实现登录页面的账号密码+验证码的验证 <?php namespace Admin\Controller; use Think\Controller; use Think\Verify; class LoginController extends Controller{ public function login(){ if($_POST){ $obj = new Verify()
-
ThinkPHP实现简单登陆功能
思路:前台输入账号密码,后台自定义一个函数checkNamePwd()用于验证账号密码正确与否,在控制器里调用,其中,checkNamePwd()方法验证账号密码正确性是首先通过账号查找密码,然后把查找出来的密码和用户输入的密码比较,相同则登陆成功,否则登录失败! 首先在模型类定义一个函数checkNamePwd() public function checkNamePwd($name,$pwd) { //①先根据$name查询是否存在指定名字的记录 //通过$name查找整条记录 $res =
-
ThinkPHP令牌验证实例
ThinkPHP内置了表单令牌验证功能,可以有效防止表单的远程提交等安全防护. 表单令牌验证相关的配置参数有: 'TOKEN_ON'=>true, // 是否开启令牌验证 'TOKEN_NAME'=>'__hash__', // 令牌验证的表单隐藏字段名称 'TOKEN_TYPE'=>'md5', //令牌哈希验证规则 默认为MD5 如果开启表单令牌验证功能,系统会自动在带有表单的模板文件里面自动生成以TOKEN_NAME为名称的隐藏域,其值则是TOKEN_TYPE方式生成的哈希字符串,
-
ThinkPHP实现登录退出功能
本文实例为大家分享了ThinkPHP实现登录退出功能的具体代码,供大家参考,具体内容如下 <?php /** * 用户登陆与退出 * 注册成功后,将页面跳转到login登陆页面 * 当数据提交到登陆页面后,必须先执行验证码验证通过再执行登陆操作 */ public function checkyzm($yzm){ $verify=new \Think\Verify();//实例化TP自带的Verify方法 if($verify->check($yzm)){//调用check方法 return
-
ThinkPHP登录功能的实现方法
登陆功能是PHP程序设计中常见的功能.本文ThinkPHP实例主要完成注册成功后进入首页,并告诉你是登录用户的功能.具体实现步骤如下: 第一步:在config.php文件中加上: 'USER_AUTH_KEY'=>'authId' 示例如下: <?php if(!defined('THINK_PATH')) exit(); return array( // 定义数据库连接信息 'DB_TYPE'=> 'mysql',// 指定数据库是mysql 'DB_HOST'=> 'local
-
ThinkPHP表单自动提交验证实例教程
本文以实例讲述了ThinkPHP表单自动提交验证的实现过程,详细步骤如下所示: 一.模板部分: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <TITL
-
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
本文实例讲述了tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能.分享给大家供大家参考,具体如下: 数据库中的表需要有控制数据的条数name,pwd,number 每当你输入错误的密码时候,数据库中的number-1,等于0时则锁定 public function login_do(){ //账号 $username=$_POST['username']; //密码 $pwd=$_POST['pwd']; $user=M('表名'); $list=$user->where("
-
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
本文实例讲述了PHP实现用户异地登录提醒功能的方法.分享给大家供大家参考,具体如下: 对于安全性要求比较高的web网站,特别是后台管理,有时候需要甄别自己的账号是否被盗或者是否有另一个人此刻登陆了在进行后台操作,这些都会很不安全,为了避免两个人同时登录同时操作,可以强制下线一个账号. 通过IP判断当然是不行的,因为IP是随时会在某一个网段内变化的,但是有一个机制,恰巧可以解决这个,那就是session,只要使用同一个浏览器访问网站,浏览器不关闭每个来访者的session_id是不变的,这也正是解
-
thinkphp框架下实现登录、注册、找回密码功能
本文实例为大家分享了thinkphp框架下使用ajax表单提交的登录.注册.找密码的实现方法,以及注册后的用户需后台审核. user表的字段为id.num.password.name.email.addtime.status 具体代码如下 <?php namespace Home\Controller; use Think\Controller; class LoginController extends Controller { //处理登录 public function signin(){
随机推荐
- Vue.js系列之vue-router(上)(3)
- 一键GHOST 硬盘版 安装图文教程
- .NET中的Timer类型用法详解
- jQuery实现异步获取json数据的2种方式
- PHP Warning: Module 'modulename' already loaded in问题解决办法
- JSP学习之异常处理实例分析
- C语言实现动态顺序表的实现代码
- 强制Android应用使用某个Locale的方法
- 域名和cookie问题(域名后缀)
- Node.js读写文件之批量替换图片的实现方法
- yii的CURD操作实例详解
- asp常用函数集合,非常不错以后研究第1/4页
- SQL Server高可用的常见问题分析
- 微信小程序 同步请求授权的详解
- 网越科技为您提供100M免费全能型空间服务
- .net core项目中常用的几款类库详解(值得收藏)
- python学习基础之循环import及import过程
- JavaScript累加、迭代、穷举、递归等常用算法实例小结
- 解决vue-router在同一个路由下切换,取不到变化的路由参数问题
- Spring Boot整合JPA使用多个数据源的方法步骤
