首先知晓我们在使用验证码的时候通常是和我们的表单小部件配合使用
首先我们创建model层

新建一个php文件 名字叫做Verifycode.php

要在我们的model层 创建我们的验证码的验证规则,我这里简单的写两个规则 一个是 非空 另一个是验证码必须验证正确

规则写在我们的model的rules里

<?php
/**
* Created by PhpStorm.
* User: jinlei
* Date: 2017/2/13
* Time: 13:57
*/

namespace frontend\models;

use yii\base\Model;
use yii\widgets\ActiveForm;
use yii\helpers\Html;

class Verifycode extends Model
{
/*定义需要使用的标量*/

public $verifycode;

public function rules(){
return[
[‘verifycode’,’required’],
[‘verifycode’, ‘captcha’],
];
}
public function attributeLabels()
{
return array(
‘verifycode’=>’验证码’,
);
//’rememberMe’=>’Remember me next time’,
}
}
然后新建控制器层 创建一个php文件名字叫做VerifycodeController.php
<?php
/**
* Created by PhpStorm.
* User: jinlei
* Date: 2017/2/13
* Time: 14:03
*/

namespace frontend\controllers;
use yii\web\Controller;
use frontend\models\Verifycode;
class VerifycodeController extends Controller
{
public function actionIndex(){
$model = new Verifycode();
return $this->render(‘index’,[‘model’=>$model]);
}
}

接下来创建view层
新建一个php文件 名字叫做index.php
<?php
/**
* Created by PhpStorm.
* User: jinlei
* Date: 2017/2/13
* Time: 14:07
*/

use yii\captcha\Captcha;
use yii\widgets\ActiveForm;
use yii\helpers\Html;
$form = ActiveForm::begin([
‘id’ => ‘login-form’,
‘options’ => [‘class’ => ‘form-horizontal’],
‘action’=>’?r=index/login’,
‘method’=>’post’,
]) ?>
<?= $form->field($model, ‘verifycode’)->widget(Captcha::className()) ?>
<div class=”form-group”>
<div class=”col-lg-offset-1 col-lg-11″>
<?= Html::submitButton(‘Login’, [‘class’ => ‘btn btn-primary’]) ?>
</div>
</div>
<?php ActiveForm::end() ?>

yii 验证码功能的实现的更多相关文章

  1. dd——留言板再加验证码功能

    1.找到后台-核心-频道模型-自定义表单 2.然后点击增加新的自定义表单 diyid 这个,不管他,默认就好 自定义表单名称 这个的话,比如你要加个留言板还是投诉建议?写上去呗 数据表  这个不要碰, ...

  2. .Net Core 之 图形验证码 本文介绍.Net Core下用第三方ZKWeb.System.Drawing实现验证码功能。

    本文介绍.Net Core下用第三方ZKWeb.System.Drawing实现验证码功能. 通过测试的系统: Windows 8.1 64bit Ubuntu Server 16.04 LTS 64 ...

  3. c#实现验证码功能

    一.验证码简介 验证码功能一般是用于防止批量注册的,不少网站为了防止用户利用机器人自动注册.登录.灌水,都采用了验证码技术.所谓验证码,就是将一串随机产生的数字或字母或符号或文字,生成一幅图片, 图片 ...

  4. javaweb实现验证码功能

    在javaweb的用户注册与登陆功能时,有时为了防止漏洞或者大量注册,可以使用验证码功能,下面是验证码的一个简单实现 验证码类 public class ValiImg extends HttpSer ...

  5. 使用JS来实现验证码功能

    最近想为自己的Django博客添加验证码功能,本来想使用第三方库来实现的,不过考虑到添加第三方库对性能的影响,以及第三方库是否安全可靠的问题,还是用自己的代码来实现吧.反正用JS来实现验证码功能又不是 ...

  6. yii 验证码那点事儿

    今天要使用yii验证码, 不过, 这个验证码是整站通用的, 也就是说, 有个表单的提交是使用ajax方式来提交, 整站, 不管在哪个地方, 都能点出来此窗口, 来提交信息 关于yii验证码, fram ...

  7. 用PHP实现验证码功能

    目前,不少网站为了防止用户利用机器人自动注册.登录.灌水,都采用了 验证码技术.所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片, 图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验 ...

  8. ThinkPhp框架:验证码功能

    Think\Verify类可以支持验证码的生成和验证功能. 为了显示这个验证码功能,第一要有控制器,再就是有方法,然后是显示的页面. 一.最简单的方式生成验证码 (1)我们还是继续在那个控制器编写方法 ...

  9. 纯JS实现图片验证码功能并兼容IE6-8

    最近要搞一个图片验证码功能,但是又不想自己写后台代码.于是自己准备搞一个纯前端的验证码功能,于是网上搜索了一下,找到一个插件gVerify.js,简单好用,实现完美.不过后面接到说要兼容IE8,想想也 ...

随机推荐

  1. ABP实战--项目结构

    学习完毕With ASP.NET Core & Entity Framework Core Part-1及Part-2后,只实现了基本的功能,使用该工程继续学习ABP的更多功能. 更改项目结构 ...

  2. SQL 集合例子

    IF OBJECT_ID('tempdb..#Purchase', 'U') IS NOT NULL DROP TABLE #Purchase; CREATE TABLE #Purchase ( Pu ...

  3. Extjs相关知识点梳理

      store是一个为Ext器件提供record对象的存储容器,行为和属性都很象数据表 方法:不列举继承来的方法 Store( Object config ) 构造,config定义为{ autoLo ...

  4. DOM (文档对象模型(Document Object Model))

    文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象 ...

  5. FineUI表格、窗体、按钮组及事件

    //表格 @(F.Grid().IsFluid(true).CssClass("blockpanel").Title("表格").ShowHeader(true ...

  6. [日常] nginx与location规则

    =========================================================================2018年3月28日 记录: location = / ...

  7. java后台向路径发送请求获得相应参数

    从java后台向一路径发送请求,获得响应的参数,put get post ,还有一个返回URL的工具类,方便代码灵活修改 import java.io.BufferedReader; import j ...

  8. HDU 4135 Co-prime 欧拉+容斥定理

    Co-prime Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  9. 使用css实现炫酷的横屏滚动效果

    炫酷的横屏滚动效果css实现 DEMO: https://codepen.io/kobako/pen/BxVLLm 我们对滚动条都不陌生.平时浏览的网页,进度条通常是垂直方向的,内容从上往下排列.但是 ...

  10. 【学习笔记】--- 老男孩学Python,day12 函数名的应用,闭包,迭代器

    1, 函数名的应用,第一类对象 函数名可以像变量一样进行使用 1.赋值 def func(): print("你吃了么?") # print(func) # a = func # ...