m_Orchestrate learning system---二、如何实现验证码自动点击刷新

一、总结

一句话总结:传过去的url带随机数来避免读取缓存

onclick="this.src='{:captcha_src()}?'+Math.random();"

1、如何实现验证码自动点击刷新?

<img width="100%" style="cursor: pointer" src="{:captcha_src()}" alt="captcha" onclick="this.src='{:captcha_src()}?'+Math.random();" /

1、鼠标手型

2、点击事件

3、路径写法,问号位置,加号位置,单引号位置

2、thinkphp验证码如何验证?

 $captcha = new \think\captcha\Captcha();
if (!$captcha->check($data['code'])) {
$this->error('验证码错误');
}
 <?php
namespace app\index\controller;
use think\Loader;
use think\Validate; use app\index\controller\Base; class Login extends Base
{
//登录
public function login()
{
if(request()->isPost()){
//1、获取用户从页面上传过来的账号和密码
$data=input('post.');
// dump($data);die;
//2、对获取的数据进行验证
$captcha = new \think\captcha\Captcha();
if (!$captcha->check($data['code'])) {
$this->error('验证码错误');
}
$validate = Loader::validate('Login');
if(!$validate->scene('login')->check($data)){
$this->error($validate->getError()); die;
} //3、在数据库中查找此用户和密码,找到则登录成功,没找到则登录失败
$res=db('user')->where('username',$data['username'])->where('password',md5($data['password']))->where('status',$data['status'])->find();
//4、如果在数据库中查找到数据,则判断是老师还是学生,跳转到相应的页面去,没有就直接返回错误界面
if($res){
if($data['status']) $this->success("即将跳转到老师界面!!");
else $this->success("即将跳转到学生界面!!");
}else{
$this->error('用户名或者密码错误或者未注册!!');
} } return view();
}

3、thinkphp如何跨模块调用?

实例

 if($data['status']) $this->success("即将跳转到老师界面!!",url('teacher/index/index'));
else $this->success("即将跳转到学生界面!!",url('student/index/index'));

参考手册

url 和 控制器中的跳转和重定向

4、如何实现button的链接?

在button外面套上a标签就好,或者用js

同理,如果实现图片链接,就在图片img标签外面套上a标签就好

因为能超链接的不是a就是js,要不就是form

 用a标签来实现
<a href="链接的地址"><img src="图片的URL" width="图片的宽度" height="图片的高度" border="边框"></a>
定义和用法
<a> 标签定义超链接,用于从一张页面链接到另一张页面。
<a> 元素最重要的属性是 href 属性,它指示链接的目标。
 <a href="javascript:;" class="tpl-table-images-content-i">
<div class="tpl-table-images-content-i-info">
<span class="ico">
<img src="__TEACHER__/assets/img/user02.png" alt="">追逐
</span> </div>
<span class="tpl-table-images-content-i-shadow"></span>
<img src="__TEACHER__/assets/img/a1.png" alt="" >
</a>

二、内容在总结中

 

项目地址

fry404006308/m_Orchestrate: m_Orchestrate
https://github.com/fry404006308/m_Orchestrate

m_Orchestrate learning system---二、如何实现验证码自动点击刷新的更多相关文章

  1. m_Orchestrate learning system---十二、为什么thinkphp验证场景里面的多个属性之间是逗号

    m_Orchestrate learning system---十二.为什么thinkphp验证场景里面的多个属性之间是逗号 一.总结 一句话总结:因为是数组啊 1 protected $scene ...

  2. 利用onekeyup即可实现验证码的点击刷新功能

    显示验证码 首先在Home/Controller下创建一个公共控制器PublicController 1 <php2 namespace Home\Controller;3 4 use Thin ...

  3. ThinkPHP 实现验证码渲染、校验、点击刷新

    一.在控制器中写方法,生成验证码,代码如下: /** * 验证码生成 * expire 验证码的有效期(秒) * useImgBg 是否使用背景图片 默认为false * fontSize 验证码字体 ...

  4. m_Orchestrate learning system---二十二、html代码如何变的容易

    m_Orchestrate learning system---二十二.html代码如何变的容易 一.总结 一句话总结:(结构清晰之后构建页面就变得超级容易了)(多做多用一下子就熟了) 1.文章显示页 ...

  5. m_Orchestrate learning system---三十二、数据库字段判断为空时容易出现问题,如何从根本上解决这个问题

    m_Orchestrate learning system---三十二.数据库字段判断为空时容易出现问题,如何从根本上解决这个问题 一.总结 一句话总结:字段禁止为空,设置默认值0即可 禁止 空 默认 ...

  6. Machine Learning - 第6周(Advice for Applying Machine Learning、Machine Learning System Design)

    In Week 6, you will be learning about systematically improving your learning algorithm. The videos f ...

  7. m_Orchestrate learning system---二十七、修改时如何快速找到作用位置

    m_Orchestrate learning system---二十七.修改时如何快速找到作用位置 一.总结 一句话总结:找人,找起作用的位置真的重要,找到就事半功倍了 加载页面的时候观察在f12的e ...

  8. m_Orchestrate learning system---三、session使用完整流程是什么

    m_Orchestrate learning system---三.session使用完整流程是什么 一.总结 一句话总结: 1.在登录成功之后设置session和cookie 2.在公共控制器里面使 ...

  9. m_Orchestrate learning system---三十六、如何修改插件的样式(比如ueditor)

    m_Orchestrate learning system---三十六.如何修改插件的样式(比如ueditor) 一.总结 一句话总结:所有的js,html插件,修改样式无非是两种,一是直接修改css ...

随机推荐

  1. 【POJ 1082】 Calendar Game

    [题目链接] http://poj.org/problem?id=1082 [算法] 对于每种状态,要么必胜,要么必败 记忆化搜索即可 [代码] #include <algorithm> ...

  2. 25.QT进度条

    #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> 5 #include <QProgressBar&g ...

  3. Spark RDD概念学习系列之transformation操作

    不多说,直接上干货! transformation操作 惰性求值 (1)RDD 的转化操作都是惰性求值的.这意味着在被调用行动操作之前Spark不会开始计算. (2)读取数据到RDD的操作也是惰性的. ...

  4. Spark RDD概念学习系列之不同角度看RDD

    不多说,直接上干货!

  5. Excel—— [导入到数据库] or 将数据 [导入到Excel]

    将Excel导入到数据库实现如下: 前台代码: @model IEnumerable<Model.Student> @{ Layout = null; } <!DOCTYPE htm ...

  6. Unity3D基础

    鼠标事件: OnMouseEnter():鼠标进入 OnMouseExit():鼠标移出 OnMouseDown():鼠标点击 OnMouseUp():鼠标抬起 static GameObject I ...

  7. Repeater控件使用小结持续更新

    Repeater嵌套Repeater绑定数据 前台代码 <!--注意层级关系不要写错了--> <asp:Repeater ID="rpGroup" runat=& ...

  8. ASP.NET中各种缓存技术的特点及使用场景

    对于一些不经常改变却经常被request的数据,我们喜欢将它们缓存在内存.这样用户请求时先到缓存中去取,如果缓存中没有,再去数据库拿,提高响应速度.缓存一般实现在BLL,这样可以与DAL分离,更换数据 ...

  9. C语言文件操作函数之ferror & feof & clearerr

    这些函数都是和文件读写时发生错误有关,下面一一分析: 1:ferror 原型:int ferror(FILE * fp) 作用:测试一个文件流是否被设置了错误标识符,如果是返回非 0 整数,否则返回 ...

  10. Java对象、Json、Xml转换工具Jackson使用

    在Java项目中將一个对象转换成一段Json格式的字符串是非常常见的,能够实现这种需求的工具包也比较多,例如Gson.JSON-lib.Jackson等等.本文主要介绍Jackson的使用,Jacks ...