首先我们还是还是写一个控制器名字叫LoginController.class.php的控制器,首先来写一个code的方法来让验证码先显示出来:

public function Code(){
//创建验证码类的实例
$verify = new \Think\Verify();
//清空ob缓存
ob_clean();
//设置初始化验证码
$verify -> codeSet = "0123456789";
$verify -> length = "4";
$verify -> fontSize = "30px";
$verify -> fonttf = "4.ttf";
$verify -> useCurve = false;
$verify -> useNoise = false; //显示验证码,并且保存在session中
$verify -> entry();
//如果感觉不好看可以通过tplx\ThinkPHP\Library\Think\Verify.class.php里面进行设置
}

让后在到登录页面里修改下让验证码可以正常跑起来再说:

让后再写多一段js代码,让验证码可以在点击时候可以变换,

<div class="login">
<h1>Login</h1>
<form method="post" action=""__URL__/Login/" >
<input type="text" name="username" placeholder="用户名" required="required" />
<input type="password" name="password" placeholder="密码" required="required" />
<input type="text" name="captcha" placeholder="验证码" required="required" />
<img id="code" src="__CONTROLLER__/Code" width="145" height="50" alt="CAPTCHA" border="1" onclick= this.src="index.php?act=captcha&"+Math.random() style="cursor: pointer;" title="看不清?点击更换另一个验证码。" />
<button type="submit" class="btn btn-primary btn-block btn-large">登录</button>
</form>
</div>
<div style="text-align:center;"> </div> <script>
window.onload = function(){
document.getElementById("code").onclick = function(){
this.src = "__URL__/code/_/"+new Date().getTime();
}
}
</script>
</body>

然后再来写一个控制器让他对提交过来的数据进行验证:

这里使用了大D,所以要在Model里面进行验证帐号和密码

<?php
namespace Admin\Model;
use Think\Model;
//后台管理员模型
class UserModel extends Model{
//验证用户名和密码
function checkUser($username,$password){
$condition['username'] = $username; //数据库设计的时候这里是username
$condition['password'] = md5($password); //数据库设计的时候这里是password
if($admin=$this->where($condition)->find()){
//成功,保存session,并且跳转到首页
session('admin',$admin);
return true;
}else{
return false;
}
}
}

让后我们即可成功通过先验证验证码,在验证帐号和密码来进行登录了,,下一步就是退出登录了,这个也很简单,

//注销
public function logout(){
session(null);
$this -> success('恭喜成功退出','Login/login',3);
}

让后在后台模型下修改下链接即可,如下所示:

<a href="__MODULE__/Login/logout" target="topFrame" onFocus="this.blur()" class="admin-out">注销</a>

主要加一段代码即可:

夺命雷公狗---Thinkphp----10之后台登录.注销一条龙的更多相关文章

  1. 夺命雷公狗ThinkPHP项目之----企业网站1之快速搭建后台

    我们还是老规矩照老方法,将框架里面多余的东西都干掉,然后在index.php里面将框架搭建起来 <?php //定义项目目录 define('APP_PATH','./WEB/'); //开启调 ...

  2. 夺命雷公狗ThinkPHP项目之----企业网站10之栏目的编辑完善(无限极分类的完成)

    我们编辑首先就要考虑将下拉框效果实现出来,然后再进行下一步操作: 我们用到了Model层的操作,在第8讲里面其实已经写好了catTree方法,控制器如下所示: 然后在列表页然他变量进行输出 然后开始通 ...

  3. 夺命雷公狗ThinkPHP项目之----企业网站3之后台栏目页的搭建(百度编辑器的引入)

    我们现在就开始搭建我们的后台栏目页的后台了: 首先创建一个CategoryController.class.php的控制器,让列表页和添加页面显示出来先: 然后就是开始动手修改我们的视图部分了: 我们 ...

  4. 夺命雷公狗ThinkPHP项目之----企业网站26之网站前台列表页的显示和完成分页功能

    我们用大I接收到我们get过来的栏目页的id然后通过文章的ar_cateid 来判断是不是属于该栏目下的,如果文章表ar_cateid = 栏目表的cate_id 那么就可以选出我们要查找的信息, 然 ...

  5. 夺命雷公狗ThinkPHP项目之----企业网站25之网站前台面包屑导航URL的完善

    如果想取出面包屑导航的url那么就必须在model层里面进行多取一个了: <?php namespace Home\Model; use Think\Model; class CategoryM ...

  6. 夺命雷公狗ThinkPHP项目之----企业网站19之网站配置信息的修改

    我们这个其实也是很简单的,思路是直接将提交过来的cf_id 改成我们自己定义好的 “1” 即可,因为1配置只能有一个,所以永久都是该id 为1的: 先来完成我们的控制器,代码如下所示: public ...

  7. 夺命雷公狗ThinkPHP项目之----企业网站18之网站配置列表页的完成

    我们点击下配置列表即可查看我们列表页的配置信息了: 其实这个最简单了,首先我们先来完成他控制器的代码: public function lists(){ $mod = M('Conf')->se ...

  8. 夺命雷公狗ThinkPHP项目之----企业网站17之网站配置页的添加

    为了网站可以智能一点,所以我们开始来写一个网站配置的功能.. 所以我来写他的数据表: 先来完成他的添加功能,页面效果如下所示: lists.html代码如下所示: <!doctype html& ...

  9. 夺命雷公狗ThinkPHP项目之----企业网站14之文章修改页的完成

    这个其实也是挺容易的,我们思路先将栏目页给遍历出来: 这里用了catTree的方法,因为我们要对遍历出来的数据进行排序的,然后来到前端进行完成列表: <!doctype html> < ...

随机推荐

  1. BAT(批处理)获得参数

    原文转自:http://blog.csdn.net/luhouxiang/article/details/31733049 获取参数有2种, 一种为从命令行输入参数,使用两个%中间包含数字表示,数字从 ...

  2. spring3 mvc:方法返回值的学习

    新建后台代码用以测试返回类型,在这里我新建的如下: /** * 项目名称:Spring3mvc demo * Copyright ? 2010-2012 spartacus.org.cn All Ri ...

  3. Android笔记:真机调试

    参考:android通过USB使用真机调试程序 手机:华为Y511-U00 1.将手机USB调试模式连接到PC(直接用数据线连接到PC一般可以自动切换) 2.连接成功后提示安装驱动,我选择的是自动安装 ...

  4. 利用HTML和JS制作隔行换背景颜色的表格

    1.源代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  5. A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null. Return a deep copy of the list.

    图解: 此题过程分为三个阶段,分别是 1.负责后面一个节点,并且将这个节点插入到原来链表中  2.复制后面一个节点的random指针. 3 拆分组合链表为两部分. 第一部分代码: while(curr ...

  6. 我的工具箱之FileZilla_3.11.0.1_win32-setup.1432524055

    FileZilla是用于在Win和Linux之间传递文件的工具,支持FTP和SFTP. 下载地址:http://pan.baidu.com/s/1gelyIYn 2016年3月2日10:29:30

  7. shell 判断字符串是否为数字

    本篇文章主要介绍了"shell 判断字符串是否为数字",主要涉及到shell 判断字符串是否为数字方面的内容,对于shell 判断字符串是否为数字感兴趣的同学可以参考一下. #!/ ...

  8. EF Code First教程-03 数据库迁移Migrator

    要在nuget 程序包管理控制台中输入命令 基本命令 Enable-Migrations   //打开数据库迁移 Add-Migration AddBlogUrl    //新增一个数据库迁移版本   ...

  9. MongoDB固定集合

    固定集合 MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头 ...

  10. 关于开源授权协议 GPL 和 LGPL

    GPL 是 GNU General Public License (GNU 通用公共许可证)的缩写形式:LGPL 是 GNU Lesser General Public License (GNU 宽通 ...