<div><img id="verify_img" src="{:captcha_src()}" alt="验证码" onclick="refreshVerify()"></div>

<a href="javascript:refreshVerify()"><span id="sx" style="cursor:pointer;font-size:14px;color:#eee;">看不清楚,<br>换一张</span></a>

<script type="text/javascript">
function refreshVerify() {
var ts = Date.parse(new Date())/1000;
var img = document.getElementById('verify_img');
img.src = "/captcha?id="+ts;
}

</script>

public function login()
{
if(empty(input('param.'))){
return $this->fetch();
}else{
$verifyCode = input('post.verifyCode');
if(captcha_check($verifyCode)){
$uid = input('post.uid');
$pwd = input('post.pwd');
if($uid!="" && $pwd!=""){
$admin = db("Admin");
$admin_forbid = $admin->where("admin_account='$uid'")->value('admin_forbid');
$admin_password = $admin->where("admin_account='$uid'")->value('admin_password');
if($admin_forbid=='是'){
echo "<script>alert('该用户已被禁用,请联系管理员')</script>";
return $this->fetch();
}elseif($pwd==$admin_password){
session('admin_account', $uid); // 跳转页面之前将$uid存入session
$ip=$_SERVER["REMOTE_ADDR"];
$admin->execute("update admin set admin_loginnum=admin_loginnum+1,admin_loginip='$ip',admin_logintime=now() where admin_account='$uid'");
$this->redirect('index/index');
}else{
echo "<script>alert('登录失败')</script>";
return $this->fetch();
}
}else{
echo "<script>alert('用户名或者密码不能为空!')</script>";
return $this->fetch();
}
}else{
echo "<script>alert('验证码不正确!')</script>";
return $this->fetch();
}
}
}

tp5验证码的使用的更多相关文章

  1. PHP----composer安装和TP5验证码类

    妈的,想用TP5做个项目,用到登录验证码了,结果煞笔TP5不内置了,需要用Composer,用吧,来下载 1.安装Composer 1.1 更新 sudo apt-get update 1.2 安装w ...

  2. TP5验证码上传阿里云万网虚拟主机后,验证码不显示的解决办法

    TP5不显示验证码 清除缓冲区就应该可以了,今天我刚好也遇到了,解决的办法是在vendor/topthink/think-captcha/CaptchaController.php中加上这个ob_cl ...

  3. tp5 验证码功能实现

    视图层 <div class="loginbox-textbox"> <input class="form-control" placehol ...

  4. TP5 使用验证码功能

    工作中后台开发使用的是 TP5,但是对语法不是很熟悉,总是看着手册写代码.当时做 Java 的时候也是这样,很多语法需要靠百度.不是不能写代码,但是这样的效率感觉不高,没有行云流水的感觉,要是能有聊天 ...

  5. 仿百度糯米TP5项目笔记

    需求分析 系统三大模块 商家平台.主平台.前台模块 Thinkphp5.0实战 仿百度糯米开发多商家电商平台网盘下载 (2017-04-24 01:46:23) 转载▼     第1章 课程简介 本章 ...

  6. tp5学习

    tp5的表单验证 tp5验证码的使用: tp5分页后页面跳转:少参数的处理方法: tp5绑定根目录为: public目录下的index.php 隐藏index.php .htaccess文件修改 控制 ...

  7. tp5 项目实战 初级 文字步骤

    项目实战 环境搭建 新建模块  admin 新建文件夹 controller   model  view View   中新建 user  index 相关样式  js   图片     放入publ ...

  8. TP5之验证码

    处于安全的角度,我们一般都会使用tp5自带的验证码 直接上图,干就完了

  9. tp5之服务器不显示验证码

    今天在使用tp框架的时候遇到的一个bug,前辈们早已有解决方法,遇到了做个笔记 TP5框架,自带的验证码在本地localhost运行是没问题的,可以正常显示,如图: 然后,把框架拿到服务器是去运行,验 ...

随机推荐

  1. Vtable内存布局分析

    vtale 内存布局分析 虚函数表指针与虚函数表布局 考虑如下的 class: class A { public: int a; virtual void f1() {} virtual void f ...

  2. Oracle11g入门

    数据类型 数据类型 表示 数字 number 日期时间 date 字符串 char(长度)/varchar2(长度) 约束条件 名称 约束 唯一 unique 非空约束 not null 主键约束 p ...

  3. Vulnhub靶场渗透练习(二) Billu_b0x

    运行虚拟机直接上nmap扫描 获取靶场ip nmap 192.168.18.* 开放端口 TCP 22 SSH OpenSSH 5.9p1 TCP 80 HTTP Apache httpd 2.2.2 ...

  4. java学习5-面向对象(下)

    final修饰符: final用于修饰类.变量和方法. final修饰变量时,一旦获得了初始值就不可改变 1.抽象方法和抽象类 抽象方法与抽象类的规则: a.抽象方法和抽象类必须使用abstract修 ...

  5. js初学者循环经典题目

    1.根据一个数字日期,判断这个日期是这一年的第几天例如: 2016和02和11,计算后结果为42 var y = 2016;//+prompt("请输入年份") ;         ...

  6. 在WPF中使用.NET Core 3.0依赖项注入和服务提供程序

    前言 我们都知道.NET Core提供了对依赖项注入的内置支持.我们通常在ASP.NET Core中使用它(从Startup.cs文件中的ConfigureServices方法开始),但是该功能不限于 ...

  7. 网络攻防实验任务三_(2)X-Scan通用漏洞扫描实验

    首先在宿主机中打开xscan_gui.exe,结果系统直接将它删掉了. 大概是因为开了防火墙的缘故. 于是我在win7虚拟机中运行这个程序. 并且关闭防火墙,在win7中可以运行 我再试了一下win1 ...

  8. Mybaits 源码解析 (四)----- SqlSession的创建过程(看懂框架源码再也不用死记硬背面试题)

    SqlSession是mybatis的核心接口之一,是myabtis接口层的主要组成部分,对外提供了mybatis常用的api.myabtis提供了两个SqlSesion接口的实现,常用的实现类是De ...

  9. linux文本编辑器教学

    linux常见服务 一. 文本编辑器 vi vim是vi增强版 vim需要安装 sudo apt-get -y install vim 1 vim的三种工作模式 1 编辑模式 命令模式=>编辑模 ...

  10. 2018.8.14 python中的内置函数(68个)

    主要内容: python中68个内置函数的功能及使用方法