`

PHP_THINKPHP_study11_后台验证与自动运行的方法

    博客分类:
  • php
php 
阅读更多

一、登陆后台验证

   1、登陆html配置提交地址:

    

 <form action="{:U('Admin/Login/login')}" method="post" id="login">

   2、Admin/LoginAction.class.php添加login()

    

Public function  login()
    {
        if (!IS_POST) halt('页面不存在');
//        echo $_SESSION['verify'] . '<br/>';
//        echo md5($_POST['code']);
//        p($_POST);
        if (I('code', '', 'md5') != session('verify')) {
            $this->error('验证码错误');
        }
        $username = I('username');
        $pwd = I('password', '', 'md5');
        $user = M('user')->where(array('username' => $username))->find();
        if (!$user || $user['password'] != $pwd) {
            $this->error('账号或者密码错误');
        }
        if ($user['lock']) $this->error('用户被锁定');
        $data = array(
            'id' => $user['id'],
            'logintime' => time(),
            'loginip' => get_client_ip()
        );
        M('user')->save($data);

        session('uid', $user['id']);
        session('username', $user['username']);
        session('logintime', date('Y-m-d H:i:s'), $user['logintime']);
        session('loginip', $user['loginip']);

        $this->redirect('Admin/Index/index');
    }

  3、为了校验session信息判断登陆跳转

    写一个CommonAction.class.php 重写 _initialize()方法

    

<?php

Class CommonAction extends Action
{
    Public function  _initialize()
    {
        if (!isset($_SESSION['uid']) || !isset($_SESSION['username'])) {//如果没有检测到session中的uid或者username让他跳转到登陆页
            $this->redirect('Admin/Login/index');
        }
    }
}
?>

  4、IndexAction.class.php 继承CommonAction

    这样首页跳转就会初始化判断是否通过登陆过来的而不是url跳转过来

   

  5、写个退出方法在IndexAction.class.php

   

   public function logout()
    {
        session_unset();//清除session
        session_destroy();//摧毁session
        $this->redirect('Admin/Login/index');
    }

 6、Index.html中

   

  <a href="{:U('Admin/Index/logout')}" target="_self">退出</a>

 

详情请看源码

分享到:
评论

相关推荐

    PHP_THINKPHP_study10_建立后台项目与验证码的调用

    【标题】"PHP_THINKPHP_study10_建立后台项目与验证码的调用"涉及到的主要知识点是使用PHP的ThinkPHP框架构建后端项目,并且涵盖了验证码的生成与使用。ThinkPHP是一个基于MVC(Model-View-Controller)设计模式的...

    PHP_THINKPHP_study12_后台人员的管理和分页类的使用

    《PHP_THINKPHP_study12_后台人员的管理和分页类的使用》 在PHP开发领域,ThinkPHP框架是一款广泛使用的MVC(Model-View-Controller)架构的PHP框架,它为开发者提供了强大的功能和高效的开发体验。这篇博客主要...

    PHP_THINKPHP_study14_RBAC

    【标题】"PHP_THINKPHP_study14_RBAC" 是一个关于PHP编程语言与ThinkPHP框架的实战项目,特别关注于角色基础访问控制(Role-Based Access Control,简称RBAC)的实现。RBAC是一种常见的权限管理机制,它通过角色来...

    ThinkPHP核心版本.zip_ThinkPHP核心版本_thinkphp_thinkphp schema_部署

    这个名为"ThinkPHP核心版本.zip_ThinkPHP核心版本_thinkphp_thinkphp_schema_部署"的压缩包显然包含了ThinkPHP框架的核心组件,以及与数据库模式(schema)和部署相关的资源。 1. **ThinkPHP核心版本**:ThinkPHP的...

    thinkphp_thinkphp_thinkphp5_

    《深入浅出ThinkPHP5框架:模板开发与实践》 ThinkPHP5,作为国内开发者广泛使用的PHP框架之一,以其简洁的代码结构、强大的功能和完善的设计模式赢得了广大开发者的喜爱。本压缩包“thinkphp_thinkphp_thinkphp5_...

    courses_writerrco_thinkphp课件管理系统_

    本文将深入探讨一款名为“courses_writerrco_thinkphp课件管理系统”的系统,旨在帮助读者理解和掌握其核心功能与实现原理。 首先,我们要了解什么是ThinkPHP。ThinkPHP是一款基于PHP语言的开源框架,以其简洁、...

    cmf.rar_phpcmf_phpcmf、 thinkphp_simplebootx_thinkPHP后台_thinkphp

    "thinkPHP后台" 指的是 thinkphp 框架用于构建后台管理系统的部分。 【描述】提到这个压缩包提供了"功能强大的后台管理集成代码",这意味着它可能包含了一整套用于构建高效、易于维护的网站后台管理界面的源代码。...

    thinkphp问卷_问卷mvc_thinkphp_thinkphp问卷_问卷_thinkphp系统_源码.zip

    2. 自动加载:ThinkPHP支持自动加载类文件,通过Composer或配置自动加载路径,实现代码的模块化。 3. 错误和日志:框架提供了完善的错误处理和日志记录机制,便于调试和问题定位。 4. 模板引擎:ThinkPHP内置了...

    664_tp5后台_thinkphp5后台模板+权限管理_tp5后台饼图_

    【标题】"664_tp5后台_thinkphp5后台模板+权限管理_tp5后台饼图_" 涵盖了几个关键的IT知识点,主要集中在使用ThinkPHP5框架开发的后台管理系统,包括模板设计、权限管理和图表展示。下面将详细阐述这些概念。 1. ...

    ThinkPHP_v5.0.7.zip_ThinkPHP V5.0.7_thinkphp

    `LICENSE.txt`文件中包含了Apache2开源协议,明确了ThinkPHP V5.0.7的使用、修改和分发的法律条款,保障了开发者权益的同时,也鼓励了社区的共享与创新。 `.travis.yml`文件是持续集成(CI)配置文件,表明此项目支持...

    ThinkPHP-2.0-API.rar_API THINKPHP_thinkphp_thinkphp A_thinkphp

    《深入理解ThinkPHP 2.0 API:框架详解与实践指南》 ThinkPHP 2.0 是中国本土开发的一款开源的PHP轻量级框架,它以其简洁、高效的特性深受开发者喜爱。本篇将针对ThinkPHP 2.0的API进行详尽解析,帮助读者深入理解...

    thinkphp_thinkphp_thinkphp5_源码.zip

    《深入解析ThinkPHP5框架源码》 ThinkPHP5(简称TP5)是中国最流行的PHP开发框架之一,它以其简洁的代码结构、丰富的文档和强大的功能吸引了大量的开发者。本篇文章将深入探讨ThinkPHP5的核心设计理念,主要框架...

    PHP_THINKPHP_study13_独立分组配置项和目录的详解

    在PHP的框架世界中,ThinkPHP是一个非常受欢迎的开源框架,尤其对于初学者和开发者来说,它提供了丰富的功能和简洁的API,使得Web应用开发变得简单高效。本篇将深入探讨ThinkPHP中的“独立分组配置项和目录”的概念...

    PHP.zip_php后台_thinkPHP rbac_前端框架

    构建高效能的PHP后台与ThinkPHP RBAC前端框架详解》 在现代Web开发中,PHP作为服务器端脚本语言,以其强大的功能和灵活性深受开发者喜爱。结合ThinkPHP框架,我们可以快速构建出高性能的后台系统。而RBAC(Role-...

    ThinkPHP5.0.5完整版_ThinkPHP_full_v5.0.5

    《深入理解ThinkPHP5.0.5:框架详解与实战应用》 ThinkPHP5.0.5是一款基于PHP7设计的轻量级、高性能的国产Web开发框架,它以其简洁的代码、高效的性能以及强大的功能在PHP开发领域备受青睐。本篇文章将详细解析...

    PHP_THINKPHP_study9_判断是否Ajax提交和错误页面定制

    4. 异常捕获:ThinkPHP会自动捕获运行时的异常,并调用`render`方法来渲染错误页面。如果需要在代码中手动抛出异常,可以使用`throw new CustomException('错误信息');`。 通过以上步骤,你就可以在ThinkPHP项目中...

    深入浅出PHP框架Thinkphp实战开发_thinkphp基础项目实战11.pptx

    深入浅出PHP框架Thinkphp实战开发_thinkphp基础项目实战11.pptx

Global site tag (gtag.js) - Google Analytics