thinkPHP实现用户登录
2016-12-10 20:16
274 查看
关于项目
本项目采用 ThinkPHP3.2.3 架构,实现后台的管理功能。其中Login.html 为登录信息页,App.html 为登录成功后的跳转 页。前端采用 jQuery Easyui框架。 Rbac 为系统生成的模块,在 index.php 中使用相对应的代码实现,代码如下:
<?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +---------------------------------------------------------------------- // | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: liu21st <liu21st@gmail.com> // +---------------------------------------------------------------------- // 应用入口文件 // 检测PHP环境 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false define('APP_DEBUG',True); // 定义应用目录 define('BIND_MODULE', 'Rbac'); define('APP_PATH', './Application/'); //将新生成的 Rbac 模块添加到 Application 文件夹之下 // 引入ThinkPHP入口文件 require './ThinkPHP/ThinkPHP.php'; // 亲^_^ 后面不需要任何代码了 就是如此简单
(注:模块成功生成后,要将相对应的模块生成语句注掉,否则将出错。)
项目架构
主要代
4000
码
Login.html<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>系统登陆</title> <link rel="stylesheet" href="/Public/Js/jquery-easyui-1.5/themes/default/easyui.css" /> <link rel="stylesheet" href="/Public/Js/jquery-easyui-1.5/themes/icon.css" /> <link rel="stylesheet" href="/Public/Js/jquery-easyui-1.5/demo/demo.css" /> <script type="text/javascript" src="/Public/Js/jquery-1.10.2.min.js"></script> <script type="text/javascript" src="/Public/Js/jquery-easyui-1.5/jquery.easyui.min.js"></script> </head> <body> <div id="main"> <div id="main-left"></div> <div id="main-center"></div> <div id="main-right"> <div id="title"></div> <form name="fm" method="post"> <div class="normal"> <div class="easyui-panel"> <input class="easyui-textbox" name="txtUserName" id="txtUserName" data-options="iconCls:'icon-man'" prompt="请输入用户名" iconWidth="35" style="width:280px; height:40px"> </div> </div> <div class="normal"> <div class="easyui-panel"> <input class="easyui-passwordbox" name="txtUserPass" id="txtUserPass" prompt="输入密码" iconWidth="35" data-options="validType:'length[3,20]'" style="width:280px; height:40px; margin-top:40px"> </div> </div> <div class="divButton"> <input type="button" name="divButton" class="btnLogin" value="" /> </div> </form> </div> <script src="/Public/Js/Login.js" type="text/javascript"></script> </div> </body> </html>
Login.js
$("input[name=divButton]").click(function(){ if(!$("#txtUserName").val() || ($("#txtUserName").val()=="")) { alert("用户名不能为空"); return; } //提交表单 $.post('../../Rbac/Users/check_login',$("form[name=fm]").serializeArray(),function(result){ console.log('result',result); console.log(result); if(result.success){ console.log("登陆成功"); location.href= "/Home/Index/App"; //链接地址形如“模块/控制器/控制器里的函数” } else{ console.log("登陆失败"); } }); });
IndexController.class.php
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { //登录验证函数 public function Login(){ $this->assign('ROOT',$this->ROOT); $this->display(); } //登录成功后跳转到app.html页面 public function App(){ $this->assign('ROOT',$this->ROOT); $this->display(); } }
UsersController.class.php
<?php namespace Rbac\Controller; use Think\Controller\RestController; use \Home\Controller\StringUtils; use \Home\Controller\CommonController; class UsersController extends CommonController { //check_login()函数用于处理服务器端的用户登录 public function check_login($txtUserName,$txtUserPass){ $Form=M('web_rbac_users'); //实例化数据表 $condition['txtUserName']=$txtUserName; $Data=$Form->where($condition)->select(); if(strtolower( $Data[0]['userpass'])==$txtUserPass){ //$Data[0]['userpass']为数据库中的‘密码’字段 //登陆成功 $this->U=StringUtils::arrayToObject( $Data[0]); session('U',$this->U); $this->response(array('success'=>true),'json'); var_dump(); }else{ $this->response(array('success'=>false),'json'); } } }
相关文章推荐
- PHP7 realpath函数一个长期存在的bug
- 最常用的PHP正则表达式收集整理
- PHP基础复习
- 搭建FTP服务器(Windows Server)
- 一个高级PHP工程师所应该具备的
- js实现全选,全不选,反选,批量删除等(Yii)
- php session失效
- PHP中interface与 implements 关键字
- phpstudy 出现“请自行检查是否安装VC9运行库??”问题 -- 缺少vc9库
- ContentProvider组件详细的使用方法
- PHP响应button的onclick事件
- php get
- PHP 加解密字符串
- PHP 代码片段
- PHP扩展开发-基础篇-01-hello world
- matplotlib.pyplot.py
- PHP获取页面执行时间的方法
- php和js一起实现倒计时功能
- laravel获取数据表中所有的字段名
- 【PHP】冒泡排序以及优化