m_Orchestrate learning system---二、如何实现验证码自动点击刷新
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---二、如何实现验证码自动点击刷新的更多相关文章
- m_Orchestrate learning system---十二、为什么thinkphp验证场景里面的多个属性之间是逗号
m_Orchestrate learning system---十二.为什么thinkphp验证场景里面的多个属性之间是逗号 一.总结 一句话总结:因为是数组啊 1 protected $scene ...
- 利用onekeyup即可实现验证码的点击刷新功能
显示验证码 首先在Home/Controller下创建一个公共控制器PublicController 1 <php2 namespace Home\Controller;3 4 use Thin ...
- ThinkPHP 实现验证码渲染、校验、点击刷新
一.在控制器中写方法,生成验证码,代码如下: /** * 验证码生成 * expire 验证码的有效期(秒) * useImgBg 是否使用背景图片 默认为false * fontSize 验证码字体 ...
- m_Orchestrate learning system---二十二、html代码如何变的容易
m_Orchestrate learning system---二十二.html代码如何变的容易 一.总结 一句话总结:(结构清晰之后构建页面就变得超级容易了)(多做多用一下子就熟了) 1.文章显示页 ...
- m_Orchestrate learning system---三十二、数据库字段判断为空时容易出现问题,如何从根本上解决这个问题
m_Orchestrate learning system---三十二.数据库字段判断为空时容易出现问题,如何从根本上解决这个问题 一.总结 一句话总结:字段禁止为空,设置默认值0即可 禁止 空 默认 ...
- 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 ...
- m_Orchestrate learning system---二十七、修改时如何快速找到作用位置
m_Orchestrate learning system---二十七.修改时如何快速找到作用位置 一.总结 一句话总结:找人,找起作用的位置真的重要,找到就事半功倍了 加载页面的时候观察在f12的e ...
- m_Orchestrate learning system---三、session使用完整流程是什么
m_Orchestrate learning system---三.session使用完整流程是什么 一.总结 一句话总结: 1.在登录成功之后设置session和cookie 2.在公共控制器里面使 ...
- m_Orchestrate learning system---三十六、如何修改插件的样式(比如ueditor)
m_Orchestrate learning system---三十六.如何修改插件的样式(比如ueditor) 一.总结 一句话总结:所有的js,html插件,修改样式无非是两种,一是直接修改css ...
随机推荐
- Linux性能优化和监控系列(一)——top工具
解释服务器发生了什么——top工具 在检查服务器的详细工作性能状态前,系统管理员需要对当前服务器状态有总体的了解. top是检查服务器总体状态的强有力工具, 通过top可以获取CPU, Memory, ...
- 深入理解Oracle索引(1):INDEX SKIP SCAN 和 INDEX RANGE SCAN
㈠ Index SKIP SCAN 当表有一个复合索引,而在查询中有除了索引中第一列的其他列作为条件,并且优化器模式为CBO,这时候查询计划就有可能使用到SS ...
- NOIp2018之前打模板出现的问题汇总
灵感来源是因为调试了一下午dij,就想把错误记下来 dij:结构体里的重载运算符不会写 结构体声明后要加引号 用于排序的结构体按照边长度排序 匈牙利:在dfs中的if语句中,要继续搜 ...
- GCD的小结
同步和异步的区别 同步:在当前线程中执行 异步:在另一条线程中执行 有4个术语比较容易混淆:同步.异步.并发.串行 同步和异步决定了要不要开启新的线程 同步:在当前线程中执行任务,不具备开启新线程的能 ...
- htmlunit 简单操作
首先我们新建一个Maven普通客户端项目,然后打开pom.xml 引入htmlunit支持: <dependency> <groupId>net.sourceforge.htm ...
- FFmpeg 移植 Android
近期项目需要解析苹果的HLS流媒体协议,而FFmpeg从0.11.1“Happiness”版本开始,才增加了对HLS协议的支持.目前网上关于FFmpeg编译移植的文章有很多,但大多都是对旧版本的说明. ...
- HTTP_PROXY
Linux, macOS, or Unix: $ export HTTP_PROXY=http://a.b.c.d:n $ export HTTPS_PROXY=http://w.x.y.z:m 设置 ...
- appium连接夜游神的方法
很多小伙伴想连接夜游神模拟器,但是无法连接,下面是夜游神的链接方法 第一步:先打开夜游神模拟器 第二步:打开运行输入cmd,输入夜游神连接方法:adb connect 127.0.0.1:62001第 ...
- Win7 disk.sys无法加载的问题
Win7突然无法启动,应该说是启动中卡死,没有别的问题,用安全模式,显示加载disk.sys时卡死.搜索发现很多人遇到这个问题. 实际解决方法是查看数据线,重新插拔,换口,换线. 数据线出现故障往往表 ...
- Pyhton学习——Day4
'''y=2*x+1x=3y->7x=3y->7'''# def test(x):# '''# 2*x+1# :param x:整形数字# :return: 返回计算结果# '''# y= ...