yii 验证码功能的实现
首先知晓我们在使用验证码的时候通常是和我们的表单小部件配合使用
首先我们创建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() ?>
最新文章
- 学习笔记-----Android的View绘制过程
- 0003 64位Oracle11gR2不能运行SQL Developer的解决方法
- Educational Codeforces Round 10
- C#中的yield return与Unity中的Coroutine(协程)(下)
- numpy中的broadcast
- 【转】java环境配置
- 谈谈用SQLite和FMDB而不用Core Data
- 两端对齐布局与text-align:justify
- 把Ubuntu用户目录下的目录名改成英文
- 栈的Java简单实现
- jstl 中 <;c:foreach>; 多级循环
- 【转】Swagger2 添加HTTP head参数
- oracle临时表空间 ORA-01652:无法通过16(在表空间XXX中)扩展 temp 字段
- (九)Delete an Index
- C语言网蓝桥杯1116 IP判断
- 第43章:MongoDB-集群--Sharding(分片)--多机的搭建
- Android与H5交互 原理与对比
- poi读取word的内容
- hdu 2108 Shape of HDU 判断是否为凸多边形
- Linux之IRQ domain